         (is-not-convertible? cell) nil                        ;; No move: reached end and only 1 type of cell
         (and looser (not= looser cell)) {:winner cell         ;; Who wins the cells
                                          :looser looser       ;; Who looses the cells
-                                         :point initial-coord ;; The move performed
+                                         :point init-coord    ;; The move performed
                                          :taken taken}        ;; The cells taken
         :else (recur
-                (walk-dir coord direction)
-                cell (conj taken coord)))
+                (next-coord coord)
+                cell
+                (conj taken coord)))
       )))
 
 (defn- available-conversions-at

  [board point]
  (eduction
    (keep #(available-cells-by-dir board point %))
    cst/directions))


;; -----------------------------------------

  (or (nil? cell) (= cell :empty) (= cell :wall)))

(defn- walk-dir
  [[dx dy] [x y]]
  [(+ x dx) (+ y dy)])

(defn- available-cells-by-dir
  "Indicates the convertible cells when clicking at [x y]"  ;; TODO - Refactor & Test
  [board init-coord next-coord]
  (loop [coord (next-coord init-coord)
         looser nil
         taken []]
    (let [cell (board/get-cell-at board coord)]
