diff --git a/lua/codecraft/core/options.lua b/lua/codecraft/core/options.lua
index a8d911b8889a8dc9360fcce3d09ef674685998e4..e39b61b4bef268f1480cead7e662dad172465e4b 100644
--- a/lua/codecraft/core/options.lua
+++ b/lua/codecraft/core/options.lua
@@ -3,18 +3,20 @@ local opt = vim.opt
 local o = vim.o
 local wo = vim.wo
 
+-- Colorcolumn
+o.colorcolumn = "79"
+
 -- Set highlight on search
 o.hlsearch = false
 
 -- Make line numbers default
 wo.number = true -- activate numbers
 opt.nu = true -- right line number
-opt.relativenumber = true -- relative 
+opt.relativenumber = true -- relative
 
 -- keep cursor in the middle of the screen
 opt.scrolloff = 25
 
-
 -- TABS
 o.expandtab = true
 o.tabstop = 4
@@ -27,12 +29,12 @@ opt.ignorecase = true
 opt.smartcase = true
 opt.incsearch = true
 
--- appearance 
+-- appearance
 o.termguicolors = true
-opt.background = 'dark'
+opt.background = "dark"
 
 -- Enable mouse mode
-o.mouse = 'a'
+o.mouse = "a"
 
 -- Enable break indent
 o.breakindent = true
@@ -50,18 +52,18 @@ opt.undofile = true
 
 -- Decrease update time
 o.updatetime = 250
-wo.signcolumn = 'yes'
+wo.signcolumn = "yes"
 
 -- Set completeopt to have a better completion experience
-o.completeopt = 'menuone,noselect'
+o.completeopt = "menuone,noselect"
 
 -- [[ Highlight on yank ]]
 -- See `:help vim.highlight.on_yank()`
-local highlight_group = vim.api.nvim_create_augroup('YankHighlight', { clear = true })
-vim.api.nvim_create_autocmd('TextYankPost', {
-  callback = function()
-    vim.highlight.on_yank()
-  end,
-  group = highlight_group,
-  pattern = '*',
+local highlight_group = vim.api.nvim_create_augroup("YankHighlight", { clear = true })
+vim.api.nvim_create_autocmd("TextYankPost", {
+	callback = function()
+		vim.highlight.on_yank()
+	end,
+	group = highlight_group,
+	pattern = "*",
 })
diff --git a/lua/codecraft/plugin-setup.lua b/lua/codecraft/plugin-setup.lua
index 853a76b5d226d217ee38014b4b23f782010e73a1..26d6cf770e12856909d60b5f74808f318bf6f9b2 100644
--- a/lua/codecraft/plugin-setup.lua
+++ b/lua/codecraft/plugin-setup.lua
@@ -8,6 +8,8 @@ if vim.fn.empty(vim.fn.glob(install_path)) > 0 then
 end
 
 require("packer").startup(function(use)
+	-- dressing
+	use({ "stevearc/dressing.nvim" })
 	-- VimBeGood
 	use("ThePrimeagen/vim-be-good")
 	-- telescope filebrowser
@@ -87,7 +89,14 @@ require("packer").startup(function(use)
 
 	use({ -- Autocompletion
 		"hrsh7th/nvim-cmp",
-		requires = { "hrsh7th/cmp-nvim-lsp", "L3MON4D3/LuaSnip", "saadparwaiz1/cmp_luasnip" },
+		requires = {
+			"hrsh7th/cmp-nvim-lsp",
+			"hrsh7th/cmp-buffer",
+			"hrsh7th/cmp-path",
+			"hrsh7th/cmp-cmdline",
+			"L3MON4D3/LuaSnip",
+			"saadparwaiz1/cmp_luasnip",
+		},
 	})
 
 	use({ -- Highlight, edit, and navigate code
diff --git a/lua/codecraft/plugin/lsp/completion.lua b/lua/codecraft/plugin/lsp/completion.lua
index 69260a718738e4ce9dc57d376eb839695365b8fe..5ccb22ef9f4caa35aaf330faa7e48a0af8b256a2 100644
--- a/lua/codecraft/plugin/lsp/completion.lua
+++ b/lua/codecraft/plugin/lsp/completion.lua
@@ -24,5 +24,6 @@ cmp.setup({
 		{ name = "luasnip" },
 		{ name = "buffer" },
 		{ name = "crates" },
+		{ name = "path" },
 	},
 })
diff --git a/lua/codecraft/plugin/lsp/null-ls.lua b/lua/codecraft/plugin/lsp/null-ls.lua
index 60aa274c9bd6be2685185d074ee79db9bcea2779..12977e2cfcca5f045efb8bc054b7c4c9da3bb1b5 100644
--- a/lua/codecraft/plugin/lsp/null-ls.lua
+++ b/lua/codecraft/plugin/lsp/null-ls.lua
@@ -1,5 +1,5 @@
-local null_ls = require("null-ls")
-local mason_null_ls = require("mason-null-ls")
+local null_ls = require('null-ls')
+local mason_null_ls = require('mason-null-ls')
 
 local formatting = null_ls.builtins.formatting
 local diagnostics = null_ls.builtins.diagnostics
@@ -7,38 +7,23 @@ local diagnostics = null_ls.builtins.diagnostics
 local augroup = vim.api.nvim_create_augroup("LspFormatting", {})
 
 local formatters_linters = {
-	prettier = {},
-	rustfmt = {},
-	black = {},
-	stylua = {},
+  prettier = {},
+  rustfmt = {},
+  black = {},
 }
 
 mason_null_ls.setup({
-	ensure_installed = vim.tbl_keys(formatters_linters),
+  ensure_installed = vim.tbl_keys(formatters_linters)
 })
-null_ls.setup({
-	sources = {
-		formatting.prettier,
-		formatting.rustfmt,
-		formatting.black,
-		formatting.stylua,
-	},
-	on_attach = function(current_client, bufnr)
-		if current_client.supports_method("textDocument/formatting") then
-			vim.api.nvim_clear_autocmds({ group = augroup, buffer = bufnr })
-			vim.api.nvim_create_autocmd("BufWritePre", {
-				group = augroup,
-				buffer = bufnr,
-				callback = function()
-					vim.lsp.buf.format({
-						filter = function(client)
-							--  only use null-ls for formatting instead of lsp server
-							return client.name == "null-ls"
-						end,
-						bufnr = bufnr,
-					})
-				end,
-			})
-		end
-	end,
+null_ls.setup ({
+  sources = {
+    formatting.prettier,
+    formatting.rustfmt,
+    formatting.black,
+  },
+  on_attach = function(current_client, bufnr)
+    if current_client.supports_method("textDocument/formatting") then
+		vim.api.nvim_buf_set_keymap(bufnr,"n",  "<C-y>", '<CMD>lua vim.lsp.buf.format({ async = true })<CR>', {  })
+    end
+  end,
 })