         dm-sub (async/sub dm-pub username answer-chan)
         qas (reduce
              (fn [question-answers question]
+               (log/infof "Sending \"%s\" to %s" (:question/text question) username)
                (send-to-user! conn username (:question/text question))
                (conj question-answers
                      {:ts (java.util.Date.)

                   (cron/schedule
                    (cron/cron-schedule cron-string))))]
    (scheduler/schedule scheduler job trigger)
    (println "Scheduler is running")))

(defn init-start-jobs [scheduler db-conn]
  (let [db (d/db db-conn)]
    (doseq [{:keys [team/domain team/schedule]}
            (d/q '[:find [(pull ?team [:team/domain :team/schedule]) ...]
                   :where
                   [?team :team/domain]]
                 db)]
      (println "Scheduling" domain schedule)
      (schedule-questionnaire-job scheduler
                                   db-conn
                                   domain
                                   schedule))) )

(defn schedule-new [schduler db-before db-after]
  (let [new-domains (d/q '[:find [?new-domains ...]

                      :answer (:text (async/<!! answer-chan))}))
             []
             questions)]
    (log/infof "Questionnaire completed for %s. %s questions answered" username (count qas))
    (async/unsub dm-pub username answer-chan)
    (async/close! answer-chan)
    qas))


(defn submit-answers [db-conn domain user answers]
  (log/infof "Submitting % answers to %s for %s" (count answers) domain user)
  (let [db (d/db db-conn)
        user-eid (d/q '[:find ?member .
                        :in $ ?domain ?user
