protobuf

protobuf initial design