rewrote benchmark tool