                           :mode :stop
                           :step 0
                           :code [
+                                 [:forward]
                                  [:left]
-                                 [:forward 1]
+                                 [:forward]
                                  [:right]
-                                 [:forward 1]
+                                 [:forward]
                                  [:left]
-                                 [:forward 1]
-                                 ]
+                                 [:forward]
+                                 [:right]
+                                 [:right]
+                                 [:forward]
+                                 [:left]
+                           ]
                           }
 
-                :grid    {
+                :board    {
                           :width    400
                           :height   300
                           :num-rows 21

(defn dir-to-offset [dir]
  (case dir
    :N [0 -1]
    :E [-1 0]
    :S [0 1]
    :W [1 0]
    [0 0]))

(defn dir-to-rotation [dir]

     ]))


(defn CurrentCommand []
  (let [program (@app-state :program)
        mode  (program :mode)
        step (program :step)
        code (program :code)
        command (get code step)]
    (if (= mode :play)
      [:span (str command)])))

(defn CurrentState []
  (let [turtle (@app-state :turtle)]
    [:div
     [:span (str turtle)]
     [:span (-> @app-state :program :mode)]]
    ))


(defn Controls []
  [:div {:style {
                 :display "flex" :flex-direction "column" :align-items "center"
                 }}
