             :value size :min 2 :max 8
             :on-change (fn [e] (swap! app-state assoc :size (.-target.value e)))}]])
 
-(defn render-tile [[x y] tile]
+(defn render-tile [[x y] tile command]
   (if-not (zero? tile)
     (let [fill-color (nth colors tile)]
-      [:g {:key (str "tile-" tile) :on-click #(slide! tile)}
+      [:g {:key (str "tile-" tile) :on-click #(async/put! command tile)}
        [:rect {:x (+ x 0.05) :y (+ y 0.05) :width 0.9 :height 0.9 :fill fill-color}]
        [:text {:x (+ 0.5 x) :y (+ 0.65 y)
                :font-family "Verdana" :font-size 0.4 :text-anchor "middle"}
         (str tile)]])))
 
-(defn tile-grid [run-solver]
+(defn tile-grid [command]
   (let [{:keys [board size analysis-mode]} @app-state
         dim (b/dimension board)]
     [:center

          (slide! key))
        (recur new-cancel)))
    (recur cancel))
  (fn [] (tile-grid #(async/put! command :solve))))

(def codename
  {37 :left

          "Solved!"
          [:div
           (str "Suggested Moves: " (b/solve-next board))
           [:div [:button {:on-click #(async/put! command :solve)} "Run solver!"]]]))]
     [:p
      "© 2017 Charles L.G. Comstock "
      [:a {:href "https://github.com/dgtized/tile-game"} "(github)"]]]))
