      (let [bytes (get-bytes stream)
            temp-hdf (contrib.io/file tdir (hash-str stream))
            keep? (dataset-filter to-keep)]
-       (do
-         (contrib.io/copy bytes temp-hdf)
-         (map make-subdataset
-              (filter keep? (subdataset-names temp-hdf))))))
+       (do (contrib.io/copy bytes temp-hdf)
+           (->> (subdataset-names temp-hdf)
+                (filter keep?)
+                (map make-subdataset)))))
   ([tdir]
      (contrib.io/delete-file-recursively tdir)))
 

;; provides us with everything we need for proper classification of
;; the data we need.

(defn metadata
  "Returns the metadata hashtable for the supplied MODIS Dataset."
  ([modis]

   SUBDATASETS metadata dictionary against the supplied collection of
   acceptable dataset keys."
  [good-keys]
  (fn [name]
    (->> good-keys
         (map modis-subsets)
         (some #(s/substring? % name)))))

(defn make-subdataset
  "Accepts a filepath from the SUBDATASETS dictionary of a MODIS Dataset,
