         runner (if (nil? duration)
                  (FixedRequestNumberRunner. requests)
                  (DurationRunner. duration))]
-    (run-scenarios-version2 runner users requests step-timeout scenarios)))
+    (run-scenarios runner users requests step-timeout scenarios)))

          (>! result-channel (conj results result))
          (recur (rest r) (conj results result)))))))

(defn run-scenario-version2 [runner concurrency number-of-requests timeout scenario]
  (println (str "Running scenario " (:name scenario) " with " concurrency " concurrency and
            " (runner-info runner) "."))
  (let [cs       (repeatedly concurrency async/chan)

          (recur (inc i)))))
    (repeatedly number-of-requests #(<!! results))))

(defn run-scenarios [runner concurrency number-of-requests timeout scenarios]
  (let [results (async/chan)]
    (go-loop [s scenarios]
      (>! results
          (run-scenario runner concurrency number-of-requests timeout (first scenarios)))
      (when-not (empty? (rest s))
        (recur (rest s))))
  (apply concat (repeatedly (count scenarios) #(<!! results)))))
