       {:remote (parser/expr->ast (:query ast))})))
 
 (defn- generate-parser-read [user-parser]
-  (fn [env key _]
-    (read env key user-parser)))
+  (fn [env key params]
+    (read (assoc env :user-parser user-parser) key params)))
 
 (defn- generate-parser-mutate [user-parser]
   (fn mutate [{:keys [state target ast] :as env} key params]

        (user-parser (assoc env :parser user-parser) tx target)))))

(defn- make-parser [user-parser]
  (om/parser {:read (generate-parser-read user-parser)
              :mutate (generate-parser-mutate user-parser)}))

(defn- find-index-route [routes]

  {:value (get @state key)})

(defmethod read [:default ::route-data]
  [{:keys [state target ast user-parser] :as env} key params]
  (let [st @state
        [route _] (get st ::route)
        query (infer-query env route)
