               val)) [0 0] (slurp-day-input 1)))
 
 ; day 2
-(defn -day2 [f-lwh]
+(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 []
-  (-day2 #(let [a (* % %2) b (* %2 %3) c (* % %3) m (min a b c)]
+  (dday2 #(let [a (* % %2) b (* %2 %3) c (* % %3) m (min a b c)]
            (+ (* 2 a) (* 2 b) (* 2 c) m))))
 
 (defn day2-part2 []
-  (-day2 #(let [[a b] (take 2 (sort [% %2 %3]))]
+  (dday2 #(let [[a b] (take 2 (sort [% %2 %3]))]
            (+ (* 2 a) (* 2 b) (* % %2 %3)))))
 
 ; day 3
-(def -move #(case %
+(defn- move #(case %
              \^ [%2 (inc %3)]
              \v [%2 (dec %3)]
              \< [(dec %2) %3]

        padding (apply str (repeat (- size (count sig)) "0"))]
    (str padding sig)))

(fn day-4-both-parts []
  (let [input "iwrupvqb"]
    (reduce #(let [m5 (md5 (str input %2))]
              (if (.startsWith m5 "00000")                  ;part 2 just asks for one more zero :)

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

;day 13
;parts 1 and 2 (part 2 is about changing input)
(defn- d13-single-line-extractor
  "Extracts data from single line of input for day 13"
  [line]
