rewrite benchmark