     (automaton-output-handler [_ data owner msg]
       (let [corp-quantity
             (get-in @data [:automaton :specific :corp-quantity] 4)
+            year-period
+            (get-in @data [:automaton :specific :year-period] 12)
             corps (corps corp-quantity)
             competitor-count
             (count (filter (fn [[k v]] (>= v 0))
                            (dissoc (:capital msg) :government)))
             command-info-c (om/get-state owner :command-info-channel)]
-        (when (zero? (mod (:iteration msg) 6))
+        (when (zero? (mod (:iteration msg) (/ year-period 2)))
           (doseq [corp corps]
             (let [cmd
                   (update-in (a/conservative-corp

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

               :disabled started
               :onChange
               #(handle-int-config-change % owner state :corp-quantity)})
         (dom/label nil "Year period (num. of iterations)")
         (dom/input
          #js {:type "text" :className "form-control" :value year-period
               :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}))}
