Starteed adding an Undo/Redo feature [has bugs]