predicate works