using protobuf reflection to gather data