   (let [input (slurp-day-input 3)]
     (count
       (second
-        (reduce #(let [[[x y] s] % nval (-move %2 x y)]
+        (reduce #(let [[[x y] s] % nval (move %2 x y)]
                   [nval (conj s nval)])
                 [[0 0] #{[0 0]}]
                 input)))))

                         (fn [n] (s->int n)) (re-seq #"\-?\d+" %))))) (iterate rm-red-jsobj input)))

;day 13
;part 1
(defn- d13-single-line-extractor
  "Extracts data from single line of input for day 13"
  [line]

              val)) [0 0] (slurp-day-input 1)))

; day 2
(defn- dday2 [f-lwh]
  (let [input (day-input-line-seq 2)
        val-ex (fn [s] (map #(Integer/parseInt %) (clojure.string/split s #"x")))]
    (reduce #(let [[l w h] (val-ex %2)]
              (+ % (f-lwh l w h))) 0 input)))

(defn day2 []
  (dday2 #(let [a (* % %2) b (* %2 %3) c (* % %3) m (min a b c)]
           (+ (* 2 a) (* 2 b) (* 2 c) m))))

(defn day2-part2 []
  (dday2 #(let [[a b] (take 2 (sort [% %2 %3]))]
           (+ (* 2 a) (* 2 b) (* % %2 %3)))))

; day 3
(defn- move #(case %
             \^ [%2 (inc %3)]
             \v [%2 (dec %3)]
             \< [(dec %2) %3]
