Refactored Builder