    s service bool "build a service"
    v verbose bool "verbose"]
   (let [keep (or keep false)
-        verbose (or verbose false)
-        mod (str (-> (boot/get-env) :gae :module :name))]
+        verbose (or verbose false)]
+        ;; mod (str (-> (boot/get-env) :gae :module :name))]
     ;; (println "MODULE: " mod)
     (comp (install-sdk)
           (libs :verbose verbose)
           (appstats :verbose verbose)
           (builtin/javac)
-          (if prod identity (reloader :keep keep :verbose verbose))
+          (if prod identity (reloader :keep keep :service service :verbose verbose))
           (filters :keep keep :verbose verbose)
           (servlets :keep keep :verbose verbose)
           (logging :verbose verbose)

   m module MODULE str "module pfx"
   n gen-reloader-ns NS sym "ns for gen-reloader"
   r reloader-impl-ns NS sym "ns for reloader"
   w web-inf WEB-INF str "WEB-INF dir, default: WEB-INF"
   v verbose bool "Print trace messages."]
  (let [edn-tmp (boot/tmp-dir!)
        prev-pre (atom nil)
        web-inf (if web-inf web-inf web-inf-dir)

        module (or module (-> (boot/get-env) :gae :module :name))

        gen-reloader-ns (if gen-reloader-ns (symbol gen-reloader-ns) (gensym "reloadergen"))
        gen-reloader-path (str gen-reloader-ns ".clj")

  "watch etc. for gae project"
  [s service bool "service"
   v verbose bool "verbose"]
  ;;(let [mod (str (-> (boot/get-env) :gae :module :name))]
  (comp (builtin/watch)
        (builtin/notify :audible true)
        ;;(builtin/sift :move {#"(.*\.clj$)" (str (if mod (str mod "/")) classes-dir "/$1")})
        (builtin/sift :move {#"(.*\.clj$)" (str classes-dir "/$1")})
        (if service
          (target :no-clean true :service service :monitor true)
          (target :no-clean true :service service :monitor false))))

;; FIXME: not sure what this was for.  Just moving clj sources to the right output dir?
;; replaced by sifting?
