               (for [[k v] (System/getenv)]
                 [(keyword k) v]))))
 (def logger (ClojureToolsLogger.))
+
+
+(defn upmap
+  [fn coll]
+  (doall
+    (for [p (doall (map #(future (fn %)) coll))]
+      @p)))
 
 
 (defn bool?

        exit (when-let [main (:main program)]
               (doall (pmap #(evaluate % config) main)))]
    (println "before destroying all nodes")
    (doall
      (pmap
        (fn [[k n]]
          (when (-> @(:node n) :options :destroy-on-exit true?)
            (destroy n)))
        @(-> config :node-manager :nodes)))
    exit
    ))


                (if (nil? yield)
                  (recur (drop 1 args))
                  yield))))
 
          ;; Functions
          (let [yield (apply (resolve fun) (evaluate (-> m first val) config))]
            (if (coll? yield)
