added predicates with processing