     'sayid-replay-workspace-query-point)
   (define-key clojure-mode-map (kbd "C-c s w") 'sayid-get-workspace)
   (define-key clojure-mode-map (kbd "C-c s t y") 'sayid-trace-all-ns-in-dir)
-  (define-key clojure-mode-map (kbd "C-c s t a") 'sayid-trace-ns)   ;;TODO
+  (define-key clojure-mode-map (kbd "C-c s t b") 'sayid-trace-ns-in-file)
   (define-key clojure-mode-map (kbd "C-c s t e") 'sayid-trace-fn-enable)   ;;TODO
-  (define-key clojure-mode-map (kbd "C-c s t E") 'sayid-trace-ns-enable)   ;;TODO
+  (define-key clojure-mode-map (kbd "C-c s t E") 'sayid-trace-enable-all)   ;;TODO
   (define-key clojure-mode-map (kbd "C-c s t d") 'sayid-trace-fn-disable)   ;;TODO
-  (define-key clojure-mode-map (kbd "C-c s t D") 'sayid-trace-ns-disable)   ;;TODO
+  (define-key clojure-mode-map (kbd "C-c s t D") 'sayid-trace-disable-all)   ;;TODO
   (define-key clojure-mode-map (kbd "C-c s t n") 'sayid-inner-trace-fn)   ;;TODO
   (define-key clojure-mode-map (kbd "C-c s t o") 'sayid-outer-trace-fn)   ;;TODO
-  (define-key clojure-mode-map (kbd "C-c s k") 'sayid-kill-all-traces)
+  (define-key clojure-mode-map (kbd "C-c s t k") 'sayid-kill-all-traces)
   (define-key clojure-mode-map (kbd "C-c s c") 'sayid-clear-log)
   (define-key clojure-mode-map (kbd "C-c s x") 'sayid-reset-workspace)
   (define-key clojure-mode-map (kbd "C-c s s") 'sayid-show-traced)

  (interactive)
  (setq pos (point))
  (setq ns (get-text-property 1 'ns))
  (nrepl-send-sync-request (list "op" "sayid-trace-fn-enable"
                                 "fn-name" (get-text-property (point) 'name)
                                 "fn-ns" (get-text-property (point) 'ns)))
  (sayid-show-traced ns)
  (goto-char pos))

(defun sayid-traced-buf-disable ()
  (interactive)
  (setq pos (point))
  (setq ns (get-text-property 1 'ns))
  (nrepl-send-sync-request (list "op" "sayid-trace-fn-disable"
                                 "fn-name" (get-text-property (point) 'name)
                                 "fn-ns" (get-text-property (point) 'ns)))
  (sayid-show-traced ns)
  (goto-char pos))

(defun sayid-traced-buf-remove-trace-fn ()
  (interactive)
  (setq pos (point))
  (setq ns (get-text-property 1 'ns))
  (nrepl-send-sync-request (list "op" "sayid-trace-fn-remove"
                                 "fn-name" (get-text-property (point) 'name)
                                 "fn-ns" (get-text-property (point) 'ns)))
  (sayid-show-traced ns)
  (goto-char pos))

(defun sayid-traced-buf-TEMPLATE ()
  (interactive)
  (setq pos (point))
  (goto-char pos))

(defun sayid-kill-all-traces ()
  (interactive)


(defun sayid-buf-back ()
  (interactive)
  (update-buf-pos-to-ring)
  (let ((buf-state (cycle-ring)))
    (sayid-setup-buf (first buf-state)
                     nil
                     (second buf-state))))

(defun sayid-buf-forward ()
  (interactive)
  (update-buf-pos-to-ring)
  (let ((buf-state (cycle-ring-back)))
    (sayid-setup-buf (first buf-state)
                     nil
                     (second buf-state))))

(defun sayid-set-clj-mode-keys ()
  (define-key clojure-mode-map (kbd "C-c s e") 'sayid-eval-last-sexp)
