better addRule, getRule