         ghost (assoc piece :name :G)
         gy    (get-drop-pos piece x y board)
         board1 (write-piece-to-board ghost x gy board)
-        board2 (write-piece-to-board piece x y board1)]
-    board2))
+        board2 (write-piece-to-board piece x y board1)
+        board3 (highlight-rows (:highlighted-rows @state) board2)]
+    board3))
 
 (defn draw-state
   "Draw the current state of the board."

  (swap! state assoc :piece (get-rand-piece)
                     :position start-position))

(defn try-collapse!
  "Try to collapse any full rows on the current board."
  []
  (let [board (:board @state)
        cleared-board (remove #(every? cell-filled? %) board)


(def state (atom {:piece (get-rand-piece)
                  :position start-position
                  :board empty-board

                  :animating false
                  :highlighted-rows #{}}))

;;------------------------------------------------------------
;; VCR (record game)
