using protobuf ok