add protocol spec