                     :bfs (q/color 225 150 225)
                     :visiting (q/color 0)
                     :edge (q/color 240 150)
-                    :untouched (q/color 240 150)})))
+                    :untouched (q/color 240 150)}
+           :edges edges)))
 
 (defn update-movement
   "apply changes to velocity, position, and size"

        (update-in [n1-label :siblings] conj n2-label)
        (update-in [n2-label :siblings] conj n1-label))))

(defn extract-edges
  "get a set of edges given a node-map"
  [nodes]
  (set (for [node nodes
             sibling-label (:siblings node)]
         #{(:label node) sibling-label})))


;;;
;;; quil state manipulation and drawing
;;;

  (-> state update-movement update-colors))

(defn draw-edges [state]
  (let [{:keys [nodes colors edges]} state]
    (q/fill (:edge colors)) ; set fill as edge color
    ;; draw each edge as a quad. Determine points using some mathematical math.
    (doseq [edge edges]
