add protocol specification