add codes for benchmarking