                   res (double-array 6)
                   err (StringBuffer.)
                   rc (.swe_calc_ut sw
-                                   jd
+                                   (:jd want)
                                    what
                                    flag
                                    res

        (let [cusps (double-array 13)
              ascmc (double-array 10)
              rc (.swe_houses sw
                              jd
                              0 ;; what flag?
                              (:lat (:geo want))
                              (:lon (:geo want))
                              (int (coerce-houses (:houses want)))

      (get hs 0)
      \O)))

(defn- request [stuff]
  (let [want (merge defaults stuff)
        jd (utc-to-jd (:utc want))]
    (assoc want :jd jd)))

(defn calc [stuff]
  (let [sw (SwissEph.)
        want (request stuff)
        flag (. SweConst SEFLG_SPEED)]
    (merge
      {:bodies
