What's these `ruleA`, `ruleB`, `ruleC` ?