add benchmark, can turn off it by setting test variable to false