   (let [seed (parse-number (read-line))]
     (binding  [gen/*rnd*  (java.util.Random. seed)])
 
-    (with-redefs [u/message println]
+    (with-redefs [u/message println
+                  n/pick-course user-input
+                  n/pick-warp-factor user-input
+                  e/pick-phaser-power user-input
+                  e/pick-torpedo-course user-input
+                  e/pick-shield-power user-input ]
     (play-game))))

  (println "   7 = CALL ON LIBRARY COMPUTER")
  (println))

(defn play-game []
  (w/new-game-state game-state)
  (w/enter-sector)
  (let [stop-condition (ref false)]
    (while (not (deref stop-condition))
      ; check to see if the Enterprise is destroyed

       edn/read-string
       (map :page)))

(defn parse-number
  "Reads a number from a string. Returns nil if not a number."
  [s]
  (if (re-find #"^-?\d+\.?\d*$" s)
    (read-string s)
    (let [s2 (str "0" s)]
      (if (re-find #"^-?\d+\.?\d*$" s2)
        (read-string s2)))))

(defn print-instructions [pause]
  (loop [p pages]
