                ["B" "X" "B"] 
                ["O" "B" "X"]]
         score ((evaluate-moves-deep board "O" 1 "O") :score)]
-    (do (prn "~~" score ) (is (= score -1 )  ))))
+    (is (= score -1 )  )))
 
 (deftest eval-won-pos
   (let [board [["X" "B" "O"] 
                ["B" "X" "B"] 
                ["O" "B" "X"]]
         score ((evaluate-moves-deep board "X" 1 "X") :score)]
-    (do (prn "~~" score ) (is (= score 1 )  ))))
+    (is (= score 1 )  )))
 
 (deftest one-move-win
   (let [board [["X" "B" "B"] 

              evaluated-moves (map #(hash-map :score ((trampoline evaluate-moves-deep (% :board) (opponent player) 
                                                                 (dec max-depth) computer (% :move)) :score ) 
                                              :move (% :move)) legal-moves  )]
          (do (prn player "++" computer "-- " max-depth "~>" (sort-by :score > evaluated-moves))
              (prn player "++" computer "-- " max-depth "~<" (sort-by :score < evaluated-moves))
              (prn "~~~~~~~~~" legal-moves)
            (first (if (= player computer) 
                     (sort-by :score > evaluated-moves)
                     (sort-by :score < evaluated-moves))))))))

(defn find-best-move [board]
  ((evaluate-moves-deep board "O" 3 "O") :move ))

  (some (partial winning-by? player) (all-lines board) ))

(defn evaluate-board [board player]
  (cond (winning? board player) 1 
        (winning? board (opponent player)) -1
        (draw? board) 0 
        :else nil))

(defn evaluate-moves-deep [board player max-depth computer & last-move]
  (let [score (evaluate-board board computer)]
