 
 (defn scrub-data [fields data]
   (println "scrubbing data")
-  (map #(-> %
-            (scrub-numerical-vals (:y fields))
-            (scrub-dates (:x fields))) data))
+  (keep #(when-not (nil? (get % (:x fields)))
+           (-> %
+               (scrub-numerical-vals (:y fields))
+               (scrub-dates (:x fields)))) data))
 
 (defn scrub-keyword [k]
   (-> k

            [clojure.walk :as walk]
            [clojure.string :as str]))

(def parsers [#"\d{4}" #"\w* \d{4} to \w* \d{4}"])

(def months
  ["January" "February" "March" "April" "May" "June" "July" "August"
   "September" "October" "November" "December"])

(defn index-of [coll x]
  (first (keep-indexed #(when (= %2 x) %1) coll)))

                           "01" ;; default day
                           )]
    (new js/Date start-date)))

(defmethod s->timestamps "\\d{4}" [s pattern]
  (new js/Date s))

(defmethod s->timestamps "\\w* - \\w* \\d{4}" [s pattern]
  ;;(new js/Date s)
  )

(defmethod s->timestamps "\\d{4}-\\d{2}" [s pattern]
  (let [start-str (str/trim (first (.match s #"\d{4}")))]
    (new js/Date start-str)))

(defn parse [parser s]
  (let [date-str (.match s parser)]
