             ["react-dom" :as rdom]
             [demo.utils :as u]))
 
-(def start-time (atom nil))
-(def last-measure (atom nil))
-
-(defn start-measure [name]
-  (reset! start-time (.now js/performance))
-  (reset! last-measure name))
-
-(defn stop-measure []
-  (if-let [last @last-measure]
-    (.setTimeout js/window
-                 (fn []
-                   (reset! last-measure nil)
-                   (let [stop (.now js/performance)]
-                     (.log js/console (str last " took " (- stop @start-time)))))
-                 0)))
-
-
-(defnc row [{:keys [data selected? on-click on-delete]}]
+(defnc row [{:keys [data selected? on-select on-delete]}]
   (d/tr {:class (if selected? "danger")}
     (d/td {:class "col-md-1"}
           (:id data))
     (d/td {:class "col-md-4"}
-          (d/a {:on-click (fn [e] (on-click (:id data)))}
+          (d/a {:on-click (fn [e] (on-select (:id data)))}
                (:label data)))
     (d/td {:class "col-md-1"}
      (d/a {:on-click (fn [e] (on-delete (:id data)))}

      (d/div
       {:class "row"}
       (d/div {:class "col-md-6"}
              (d/h1 (str "Helix (total rows " (count data) ")")))
       (d/div {:class "col-md-6"}
              (d/div {:class "row"}
                     (d/div {:class "col-sm-6 smallpad"}

  (js/console.log "re-render")
  (let [[data set-data] (use-state [])
        [selected set-selected] (use-state nil)
        run
        (fn run [_]
          (set-data (vec (u/build-data id-atom 1000)))
          (set-selected nil))
        run-lots
        (fn run-lots [_]
          (set-data (vec (u/build-data id-atom 10000)))
          (set-selected nil))
        add
        (fn add [_]
          (set-data u/add id-atom))
        update-some
        (fn update-some []
          (set-data u/update-some))
        clear
        (fn clear []
          (set-selected nil)
          (set-data []))
        swap-rows
        (fn swap-rows []
          (set-data u/swap-rows))
        select
        (fn select [id]
          (set-selected id))
        delete
        (fn delete [id]
          (set-data u/delete-row id))]
    (d/div
     {:class "container"}
     (d/div
