Builder Refactor