fixed work with predicates