protobufs for message serialization