LocationService refactored