diff --git a/collects/help/help.ss b/collects/help/help.ss
index b02c91f9..8cd42c70 100644
--- a/collects/help/help.ss
+++ b/collects/help/help.ss
@@ -1,21 +1,15 @@
-(module help mzscheme 
-  (require (lib "cmdline.ss")
-	   "private/server.ss"
-	   "private/browser.ss")
-
-  (define remote-connections? #f)
-  (define iconize? #f)
-  (define quiet? #f)
+(module help mzscheme
+  (define cm-env-var "PLTHDCM")
+  (define install-cm? (getenv cm-env-var))
+  (define cm-trace? (and install-cm? (equal? (getenv cm-env-var) "trace")))
   
-  (command-line
-   "help-desk"
-   (current-command-line-arguments))
-
-  (define hd-cookie (start-help-server (lambda (x) x)))
-  (unless hd-cookie 
-    (printf "Help Desk: could not start server\n")
-    (exit -1))
-
-  (help-desk-browser hd-cookie))
-
-
+  (when install-cm?
+    (printf "~a: installing compilation manager\n" cm-env-var)
+    (current-load/use-compiled
+     ((dynamic-require '(lib "cm.ss") 'make-compilation-manager-load/use-compiled-handler)))
+    (when cm-trace?
+      ((dynamic-require '(lib "cm.ss") 'manager-trace-handler)
+       (lambda (x) (display x) (newline)))))
+  
+  ;; start help desk for real
+  (dynamic-require '(lib "help-app-main.ss" "help" "private") #f))
\ No newline at end of file