benchmark refactoring