   (or (nil? cell) (= cell :empty) (= cell :wall)))
 
 (defn- walk-dir
-  [[x y] [dx dy]]
+  [[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 initial-coord direction]
-  (loop [coord (walk-dir initial-coord direction)
+  [board init-coord next-coord]
+  (loop [coord (next-coord init-coord)
          looser nil
          taken []]
     (let [cell (board/get-cell-at board coord)]

        (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
                                         :taken taken}        ;; The cells taken
        :else (recur
                (walk-dir coord direction)
                cell (conj taken coord)))
      )))

(defn- available-conversions-at

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


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