replace Filter with Predicate