user and city logic