         (string-mapping
          (range 6 8)
          (range 8)
-         (map char (range 97 113)))
+         default-keybindings)
         init-black-bindings
         (string-mapping
          (reverse (range 2))
          (range 8)
-         (map char (range 97 113)))]
+         default-keybindings)]
       {:width 500
        :height 500
        :board
        (mapv
-        (fn [row-pieces row-colors]
+        (fn [row-pieces row-colors row-text]
           (mapv
-           (fn [piece color]
-             {:piece piece :color color})
-           row-pieces row-colors))
-        init-pieces init-colors)     
+           (fn [piece color text]
+             {:piece piece
+              :color color
+              :text text})
+           row-pieces row-colors row-text))
+        init-pieces
+        init-colors
+        init-selection-text)     
        :string-map
-       {:white {:str->pos
-                init-white-bindings
-                :pos->str
-                (s/map-invert init-white-bindings)}
-        :black {:str->pos
-                init-black-bindings
-                :pos->str
-                (s/map-invert init-black-bindings)}}
+       {:white init-white-bindings
+        :black init-black-bindings}
        :turn :white}))
 
 (defonce black #{\u265F \u265C \u265E \u265D \u265B \u265A})

#_(reset! app-state init-state)
#_(swap! app-state assoc :turn :black)

(defn board-style
  [data]
  {:border "1px solid black"

           :on-change (fn [e]
                        (let [val (js/parseInt (.-target.value e))]
                          (swap! app-state assoc :width val :height val)))}])

(defn out-of-board?
  "returns all possible locations for a given piece
