                               (int (coerce-houses (:houses want)))
                               cusps
                               ascmc)]
-          {:houses (zipmap (range 1 13) (rest cusps))})))))
+          (if (houses? (:houses want))
+            {:houses (zipmap (range 1 13) (rest cusps))}
+            {}))))))

               :angles []
               :houses "O"})

(defn- valid-geo? [geo]
  (if (and
        (map? geo)
        (contains? geo :lat)

              {(lookup what) {:lon (aget res 0)
                              :lat (aget res 1)
                              :sdd (aget res 3)}})))}
      (if (and (geo? (:geo want))
               (or (angles? (:angles want))
                   (houses? (:houses want))))
        (let [cusps (double-array 13)
              ascmc (double-array 10)
              rc (.swe_houses sw
