Refactored builder into its own package