 (defn fetch-all
   "Fetch all of the entities for the given type."
   [type & options]
-  (map #(make type %) (apply c/fetch-all (collection-for type) options)))
+  (apply fetch type nil options))
 
 (defn fetch-one
   "Fetch the first entity for the given type matching the supplied criteria and options."
   [type criteria & options]
-  (make type (apply c/fetch-one (collection-for type) criteria options)))
+  (first (apply fetch type criteria options)))
 
 (defn fetch-by-id
   "Fetch an enity by :_id"

  ([type]
     (count-instances type nil))
  ([type criteria]
     (c/fetch (collection-for type) criteria :count true)))

(defn distinct-values
  "Return the distinct values of a given type for a given key."

  ([type obj]
     (update-all type {} obj))
  ([type criteria obj]
     (update type criteria obj :multi)))

(defn delete-all
  "Deletes all entitys given an optional where clause."
