                       :flappy-start-time 0
                       :flappy-y   start-y
                       :pillar-list
-                      [{:start-time 0
-                        :pos-x 900
-                        :gap-top 200 }]})
-
-(defn reset-state [{:keys [event-chan] :as st} cur-time]
+                      [{ :start-time 0
+                         :pos-x 900
+                         :cur-x 900
+                         :gap-top 200 }]})
+
+(defn reset-state [_ cur-time]
   (-> starting-state
       (update-in [:pillar-list] (fn [pls] (map #(assoc % :start-time cur-time) pls)))
       (assoc
           :start-time cur-time
           :flappy-start-time cur-time
-          :event-chan event-chan
           :timer-running true)))
 
 (fw/defonce flap-state (atom starting-state))
-
-(defmulti transform first)
-
-(defmethod transform :default [_ state] state)
 
 (defn curr-pillar-pos [cur-time {:keys [pos-x start-time] }]
   (translate pos-x horiz-vel (- cur-time start-time)))

                 4)]
  (assoc st :score (if (neg? score) 0 score))))

(defmethod transform :time [[_ timestamp] state]
  (-> state
      (assoc
          :cur-time timestamp

          :jump-count (inc jump-count)
          :flappy-start-time cur-time
          :initial-vel jump-vel)))

;; derivatives

