Rules refactor
Added predicate based rule