Predicate

Migrate to predicate library