making CLLocationManager more robust