move XMLBuilder out into its own file