This also moves some files around so project structure makes more sense relative to new organization.