add protocol definition