Implement undo.