First cut at breaking up into files