factor out additive versions of rules