           (merge
             (nice-angles ascmc (:angles want))
             (nice-houses cusps (:houses want)))))
-      (if (:meta want) {:wanted (dissoc want :meta)} {})))))
+      (if (:meta want) {:wanted (dissoc want :meta)
+                        :result @re})))))

        (let [cusps (double-array 13)
              ascmc (double-array 10)
              rc (.swe_houses sw
                              (:jd want)
                              0 ;; TODO: flags?
                              (:lat (:geo want))
                              (:lon (:geo want))

    {:houses (zipmap (range 1 13) (rest data))}
    {}))

;; expects an atom map, key, and value to assoc
;; returns the value for further use
(defn- result [a k v]
  (do (swap! a assoc k v)
   v))

(defn calc
  ([] (calc {}))
  ([stuff]
   (let [want (merge defaults stuff)
         re (atom {})
         sw (SwissEph.)
         jd (result re :jd (utc-to-jd (:utc want)))
         flag (. SweConst SEFLG_SPEED)]
    (merge
      {:points
