more unly apply and undo once. undoing destroys diff