started implementation of redo & undo