fixed undo/redo related bugs
new feature: keyboard shortcuts