return {
	"ThePrimeagen/harpoon",
	dependencies = {
		"nvim-lua/plenary.nvim",
	},
	config = function()
		local mark = require("harpoon.mark")
		local ui = require("harpoon.ui")

		-- set keymaps
		local keymap = vim.keymap -- for conciseness

		keymap.set("n", "<leader>a", mark.add_file, { desc = "Mark file with harpoon" })
		keymap.set("n", "<leader>th", mark.toggle_file, { desc = "Toggle file with harpoon" })
		keymap.set("n", "<C-e>", ui.toggle_quick_menu, { desc = "Toggle quick menu for harpoon" })

		keymap.set("n", "<C-,>", function()
			ui.nav_prev()
		end, { desc = "Go to previous harpoon mark" })

		keymap.set("n", "<C-.>", function()
			ui.nav_next()
		end, { desc = "Go to next harpoon mark" })

		keymap.set("n", "<C-h>", function()
			ui.nav_file(1)
		end, { desc = "Go to first harpoon file" })

		keymap.set("n", "<C-j>", function()
			ui.nav_file(2)
		end, { desc = "Go to second harpoon file" })

		keymap.set("n", "<C-k>", function()
			ui.nav_file(3)
		end, { desc = "Go to third harpoon file" })

		keymap.set("n", "<C-l>", function()
			ui.nav_file(4)
		end, { desc = "Go to fourth harpoon file" })
	end,
}
