             manager.startUpdatingLocation()
         }
     }
+    
+    // MARK: - custom methods
+    func disableUserAnnotationView(userLocation: MKUserLocation)
+    {
+        if let userAnnotationView = self.mapView.viewForAnnotation(userLocation)
+        {
+            userAnnotationView.enabled = false
+        }
+    }
 }

                
                let distance = pinLocation.distanceFromLocation(userLocation)
                
                if distance <= 20.0
                {
                    customAnnotation.toggleState(true)
                    self.mapView.viewForAnnotation(customAnnotation)!.image = UIImage(contentsOfFile: NSBundle.mainBundle().pathForResource("pin_green", ofType: "png")!)

    }
    
    func mapView(mapView: MKMapView, didUpdateUserLocation userLocation: MKUserLocation) {
        self.disableUserAnnotationView(userLocation)
        
        let accuracy = userLocation.location!.horizontalAccuracy
        
        self.accuracyLabel.text = "current accuracy: " + String(accuracy)
