LocationManager refactoring