Rearrange and New Factory for RuleSet