generate protobuff