added APredicate with 2 and 3 parameter