refactoring geocoding