 
 (defn undos?
   []
-  (>= (count @undo-list) 1))
+  (pos? (count @undo-list)))
 
 (defn redos?
   []
-  (> (count @redo-list) 0))
+  (pos? (count @redo-list)))
 
 
 ;; -- subscriptions  -----------------------------------------------------------------------------

  :redo                ;; usage:  (dispatch [:redo])
  (fn handler
    [_ _]
    (when (> (count @redo-list) 0)
      (reset! app-db (first @redo-list))
      (reset! redo-list (rest @redo-list))
      (reset! undo-list (conj @undo-list @app-db)))))

  :undo                ;; usage:  (dispatch [:undo])
  (fn handler
    [_ _]
    (when (undos?)
      (reset! redo-list (cons @app-db @redo-list))
      (reset! app-db (last @undo-list))
      (reset! undo-list (pop @undo-list)))))


