                         (when reset-grid?
                           (om/transact!
                            data [:automaton :grid]
-                           (fn [grid] (assoc grid :cells {})))))
+                           (fn [grid] (assoc grid :cells {})))
+                          (om/update! data [:automaton :util :iteration] 0)))
 
                      grid-c
                      ([[width height]]

               :disabled started
               :onChange
               #(handle-int-config-change % owner state :year-period)})
         (dom/button
          #js {:type "button" :className "btn btn-danger btn-lg btn-block"
               :disabled started
               :onClick #(do (put! config-changed [corp-quantity year-period])
                             (put! command-info-channel
                                   {:type :change-corp-quantity
                                    :cmd corp-quantity}))}

            reset-c (om/get-state owner :reset)]
        (go
          (while true
            (let [[corp-quantity year-period stop-after] (<! config-c)]
              (om/transact! data #(assoc %
                                    :corp-quantity corp-quantity
                                    :year-period year-period
                                    :stop-after stop-after))
              (put! reset-c true))))))
    om/IRenderState
    (render-state [_ {:keys [corp-quantity year-period config-changed
                             stop-after command-info-channel]
                      :as state}]
      (let [started (:started data)]
        (dom/div
