      :else :default)))
 
 (defmethod get-as-geom :repeat
-  [record {:keys [children] :as field}]
-  (map-indexed
-   #(get-as-geom record
-                 %2
-                 :repeat-index %1
-                 :repeat-group-name (:full-name field))
-   children))
+  [record {:keys [children full-name] :as field}]
+  (do
+    (for [child-record (get record full-name)]
+      (for [child (filter f/geofield? children)]
+        (get-as-geom child-record child)))))
 
 (defmethod get-as-geom :default
-  [record geofield & {:keys [repeat-index repeat-group-name]}]
+  [record geofield]
   (let [geotype ({"geopoint" "Point"
                   "gps" "Point"
                   "geoshape" "Polygon"

             (if (map? geom-or-geoms)
               (make-feature geom-or-geoms (record _id) idx)
               (map #(make-feature % (record _id) idx)
                    geom-or-geoms)))]
       {:type "FeatureCollection"
        :features (flatten features)}))))


                  "Polygon" #(vector (parse %))
                  identity)
              
        value (get record (:full-name geofield))
        coords (coordfn value)]
    (if (f/osm? geofield)
      (:geom value)
      (when-not (or (nil? coords) (some nil? coords))
