Renamed everything to be generic