added an undo operation