half revert