Issue #106: added undo/redo