                   (fn [[m c]]
                     (let [grp-i (get-in conv [:members m])
                           grp ((:groups conv) grp-i)]
-                      {:pid m :tid c :vote (cast-vote! grp c)}))
+                      {:zid zid :pid m :tid c :vote (cast-vote! grp c)}))
                   picks)]
       ; Return the new conversation state so it can be looped on
       [new-conv votes])))

      (let [[new-convs vote-batches]
              (unzip
                (map #(poll! %1 %2 last-timestamp) pollers convs))]
        [new-convs (apply concat vote-batches)]))))




(defn int-opt [& args]


(defn rand-ms
  [max]
  (+ (* (rand-int (int (/ max 1000)))
        1000)
     (rand-int 1000)))



(defn add-timestamps
