add code for benchmark