added predicates for protocols and protocol type