   Object
   (render
     [this]
-    (dom/div nil "Heats")))
+    (let [{:keys [heats starting]} (om/props this)
+          heat-dist (domain/create-distribution starting heats)]
+      (log heat-dist)
+      (dom/div nil
+        (map-indexed #((om/factory HeatRow) {:heat-number (inc %1)
+                                             :starting    %2})
+                     heat-dist)))))
 
 (defui ActivityComponent
   static om/IQuery

          (dom/h4 #js {:className "col-xs-12"} (clojure.string/join "," (map :dance/name (:round/dances activity)))))

        ;; TODO - fix heats
        (map-indexed #((om/factory HeatsComponent) %)
                     (partition (:round/heats activity)
                                (:round/starting (om/props this))))

        (dom/div #js {:className "Row"}
          (dom/h3 #js {:className "col-xs-12"} (str "Total: " (count starting))))

;; Recall 18
;; Judges A, B, C      Event 3A

(defui HeatRow
  static om/IQuery
  (query [_]
    [])
  Object
  (render
    [this]
    (let [{:keys [heat-number starting]} (om/props this)]
      (dom/div #js {:className "Row"}
        (dom/h4 #js {:className "col-xs-2"} (str "Heat " heat-number ":"))
        (dom/div #js {:className "col-xs-10"}
          (map #(dom/h4 #js {:className "col-xs-1"} (:participant/number %)) starting))))))

(defui HeatsComponent
  static om/IQuery
  (query [_]
