undo/redo implemented in editor