Add flexibility to Predicate