Builder refactored