 (defn resolve-field-on-object
   "FIXME"
   [parent-object field-type field-entry]
-  (let [object-name (get-selection-object-name field-entry)
+  (let [field-name (get-selection-object-name field-entry)
+        arguments (get-selection-arguments field-entry)
         resolve-fn (or (:resolve-fn field-type)
-                       (fn default-resolve-fn [parent-object]
-                         (get parent-object (keyword object-name))))]
+                       (default-resolve-fn field-name))]
     (log/spy field-type)
+    (log/spy field-entry)
     (log/spy resolve-fn)
     (log/spy parent-object)
-    (log/spy (resolve-fn parent-object))))
+    (log/spy arguments)
+    (if arguments
+      (log/spy (resolve-fn parent-object arguments))
+      (log/spy (resolve-fn parent-object)))))
 
 (defn merge-selection-sets
   [selections]

    (log/debug "get-selection-object-name: name: " name)
    name))

(defn get-selection-name
  [selection]
  (log/debug "get-selection-name: " selection)

  :LIST
  :NOT_NULL)

(defn default-resolve-fn
  [field-name]
  (fn [& args]
    (let [parent (first args)]
      (get parent (keyword field-name)))))

(def type-map
  {:GraphQLString {:name "String"
                   :kind :SCALAR}
