      :body (str "dropped " (- old-size (count @data)))}))
 
 (defroutes our-routes
-  (GET "/gengarbage"
+  (GET "/gengarbage" []
        serve-gengarbage)
-  (GET "/gendata"
+  (GET "/gendata" []
        serve-gendata)
-  (GET "/dropdata"
+  (GET "/dropdata" []
        serve-dropdata))
 
 (defn -main [& args]

     :frag-grendade (apply str r (repeat (* (rand) 25) "kaboom"))}))

(defn serve-gendata [request]
  (let [amount (let [amstr (:amount (:query-params request))]
                 (if amstr
                   (Integer/parseInt amstr)
                   (max 1 (count @data))))]


(defn serve-dropdata [request]
  (let [old-size (count @data)]
    (if (contains? (:query-params request) "ratio")
      (let [ratio (Double/parseDouble ((:query-params request) "ratio"))]
        (dosync (alter data (fn [old] (loop [data old
                                             tail (seq old)]
                                        (if (seq tail)
