Refactored builder