decouple the benchmark code