finished predicate and joinpredicate