some improvements to benchmark