Rearranged the solution to make more sense.  Renamed some files and updated all the references throughout.