builders refactoring