using Predicates from precore