          :events []
          ;;:log-path "/home/makoco/eq-logs/eqlog_Hadiar_project1999.txt"
          :log-path "C:/dev/yaqp/log/eqlog_Hadiar_project1999.txt"
-         :timers []}))
+         :timers {}}))
 
 (defprotocol Timed
   (expired? [t now])

   [yaqp.parse :as p]
   [clj-http.client :as client]
   [clojure.string :as str]
   [simple-time.core :as t])
  (:use
   [yaqp.debug]
   [seesaw.core :only [listen]]
   [seesaw.mouse :only [location]])
  (:import
   [yaqp.gui Bar]
   [java.io File]


(defn tick [app]
  ;; iterate through timers, draw fraction according to diff from (now) - start, duration
  (let [timers (-> @app :timers vals)
        now (t/now)
        [dead-timers live-timers] (split-with #(expired? % now) timers)]
    (gui/render-bars
     (->> timers
          (filter #(not (expired? % now)))
          (map
           (fn [{:keys [id name opts] :as timer} ]
             (Bar. (fraction timer now) name (assoc opts :timer-id id))))))
    ;;(clear-timers)
    ;(swap! app update-in [:timers] #(remove #{dead-timers} %))
    (swap! app update-in [:timers] #(apply dissoc % (map :id dead-timers)))
    ))

(defn on-bar-frame-mouse-click [e]
  (when (= :right (mouse/button e))
    (swap! app update-in [:timers] dissoc (gui/bar-clicked? (mouse/location e)))))

(defn run []
  (when-not (:kill @app)
