do and undo changed