City detection; Refactoring;