try use protobuf message, not yet done