Implement the protobuf function