undo/redo partially working