new add protobuff code