redesign the GenericBenchmarkRecord.....