updated code with city lookup