Added undo / redo and cleaned up some other stuff