split build out into its own struct