Refactored locations to use a Location class