predicates and classes