split into two separate predicates