break parseSource and parseFields out