                   :times-solved 0
                   :description description
                   :tags (s/split tags #"\s+")
+                  :restricted (s/split restricted #"\s+")
                   :tests (s/split-lines code)
                   :user (if (empty? author) user author)
                   :approved false})


(defn create-problem
  "create a user submitted problem"
  [title tags description code id author]
  (let [user (session/session-get :user)]
    (if (can-submit? user)
      (let [prob-id (or id

  (GET "/problems" [] (problem-page))
  (GET "/problem/:id" [id] (code-box id))
  (GET "/problems/submit" [] (problem-submission-page))
  (POST "/problems/submit" [prob-id author title tags restricted description code]
    (create-problem title tags restricted description code (when (not= "" prob-id) (Integer. prob-id)) author))
  (GET "/problems/unapproved" [] (unapproved-problems))
  (POST "/problem/edit" [id]
    (edit-problem (Integer. id)))
