             rules 
             )))
 
+;; (pawn-capturing-locations starting-position [0 1])
+(defn pawn-capturing-locations[position [x y :as location]]
+  (let [
+        op (if (= :white (:player-to-move position)) inc dec) 
+        ]
+  "return valid capture locations for the pawn at given location"
+    (keep 
+      (fn[dec-or-inc]
+        (if (unoccupied? position [(dec-or-inc x) (op y)])
+          [(dec-or-inc x) (op y)]
+
+          )) [inc dec]) 
+    ))
 
 (defn pawn-captures[position [x y :as location]]
   "return valid capture moves for the pawn at the location on the position"

              (ranging-moves position loc (:rules piece-info)) 
              (is-pawn? piece)
              (pawn-moves position loc) 
              true
              (non-ranging-moves position loc (:rules piece-info)) 
              ))) 
    (filter (fn[[_ piece]]
              (=   (piece-color piece)

;;;                0 1  1 1   2 1      7 1 
;;;                0 0  0 1           7 0  cr

(defn on-board?[loc] (not (off-board? loc)))

(defn rook-right[x y z] [ (+ x z) y ])
