first revert, revert, revert, then rollback