handle the way predicates are set at constructor time