reworked how built-in rules are overridden and used