extract city processing into method