         (go-loop []
           (let [[v c] (alts! (keys chan-to-path-map))
                 path (get chan-to-path-map c)]
-            (condp = (second path)
-              :score   (handle-score-update report-match path v)
-              (handle-player-update report-match path v))
+            (condp some (-> path)
+              #{:score}   (handle-score-update report-match path v)
+              #{:player1
+                :player2} (handle-player-update report-match path v)
+              nil)
             (recur)))))
 
     om/IRenderState
     (render-state [_ {:keys [team1 team2]}]
-      (let [_  (debug (map (fn [p]  (str "'" (:name p) "'")) (selected-players report-match)))
+      (let [_  (debug (map (fn [p]  (str "'" (:name p) "'")) (selected-players (:team1 report-match)
+                                                                              (:team2 report-match))))
             __ (debug (map (fn [kw] (get-in report-match [kw :score])) [:team1 :team2]))
             render-team (partial render-team-controls app)]
         (html

         [:div.form-group
          [:label.control-label.col-lg-4 (str "Player " player-num)]
          [:div.controls.col-lg-8
           (render-players-select team active-players [player-selector] change-ch)]])))))

(defn team-selector [team-num]
  (keyword (str "team" team-num)))

(defn- render-team-controls [{:keys [report-match active-players] :as app}
                             team-num
                             {:keys [score player1 player2] :as chans}]
  (let [team          ((team-selector team-num) report-match)
        render-player (fn [num change-ch]
                        (om/build team-player-component team
                                  {:opts      {:change-ch change-ch}
                                   :react-key (str team-selector "-" num)
                                   :fn        (fn [t] (merge t {:active-players active-players
                                                               :player-num num}))}))]
    (debug "render team" team)
    [:div.col-lg-5.well.well-lg
     [:h2 (str "Team " team-num ":")]
     (render-player 1 player1)

          (update-score! report-match other other-score score))))))

(defn handle-player-update [report-match path player]
  (om/update! report-match path player))

(defn report-match-component [{:keys [active-players report-match] :as app} owner]
  (reify
