adapted for new PredicateHandler