         (is-cell-empty? 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
-                                         :move [xi yi]  ;; The move performed 
+                                         :move move     ;; The move performed 
                                          :taken taken}  ;; The cells taken
         :else (recur
                 (+ x dx) (+ y dy)
-                (or looser cell) 
-                (conj taken [x y])))
+                cell (conj taken [x y])))
       )))
 
 (defn available-moves-at

   :winner :blue,
   :looser :red,
   :taken [[8 5] [9 5]]}"
  [board [xi yi] [dx dy]]
  (loop [x (+ xi dx)
         y (+ yi dy)
         looser nil

;; -----------------------------------------
;; INIT THE BOARD
;; -----------------------------------------

(def empty-board
  (let [column (vec (repeat board-height :empty))]
