changed predicates to utility classes