Refactor predicate calling