apply/revert methods