inline RuleFactory