bench refactor