new feature: predicates