builders refactored