   :commands org-mode
   :config
   (progn
+    ;; configure general org-mode behavior
     (setq org-startup-indented t)
+    ;(setq org-cycle-separator-lines 1)
+
+    ;; configure org-agenda
     (setq org-agenda-files (list "~/Org/"))
     (setq org-log-done t)
     (setq org-agenda-span 'month)
-    (define-key global-map (kbd "C-c a") 'org-agenda)))
+    (define-key global-map (kbd "C-c a") 'org-agenda)
+
+    ;; org-babel for literate programming
+    (org-babel-do-load-languages 'org-babel-load-languages
+				 '((emacs-lisp . t)
+				   (clojure . t)
+				   (python . t)))
+    (setq org-src-fontify-natively t)
+    (setq org-src-preserve-indentation t)
+    ))
 
 ;;julia-mode
 (use-package julia-mode
   :load-path "~/.emacs.d/elisp/"
   :mode "\\.jl\\'")
 
+(use-package clojure-mode
+  :ensure clojure-mode
+  :commands clojure-mode)
 
 ;;;; behavior customization
 

(setq make-backup-files nil)

;; whitespace
(setq-default show-trailing-whitespace t)


;;;; keybindings


    (define-key evil-normal-state-map (kbd "C-w q") 'evil-quit)
    (define-key evil-normal-state-map "gol" 'whitespace-mode)
    (define-key evil-normal-state-map "gow" 'toggle-truncate-lines)

    (define-key evil-insert-state-map (kbd "C-g") 'evil-normal-state)
    (define-key evil-insert-state-map (kbd "C-p") nil)
    (define-key evil-insert-state-map (kbd "C-n") nil)
    ))

;; markdown-mode
