Refactored LocationService