add benchmarking functions