       (refer-clojure)
       (use '[control core commands])
       (load-file
-       (str (get-control-dir) "/control.clj")))
+       (or @special-control-file (str (get-control-dir) "/control.clj"))))
     (catch java.io.FileNotFoundException e (error "control file not found."))))
 
 (defn version

        [clojure.tools.cli :only [cli]]
        [clojure.java.io :only [file reader writer]])
  (:gen-class))

(def ^{:private true :tag String} CONTROL-DIR "clojure-control.original.pwd")




(defn -main [ & args]
  (let [[options extra-args]
        (cli args ["-f" "--file" "Which control file to be executed."])
        {:keys [file]} options
        cmd (first extra-args)
        args (next extra-args)]
    (when file
      (reset! special-control-file file))
    (case cmd
      "init" (apply init args)
      "run" (apply run args)
