undo/redo complete
may add ctrl+z ctrl+y shortcut later