                 let viewPoint: CGPoint = recognizer.locationInView(self.mapView)
                 println(".AddPin: viewPoint = \(viewPoint)")
                 
- Note:  OK, this pin is the one that ends up being the extra pin at the end. Figure out how to show the annotation on the map while dragging, without having this pin arround on the touch up.
+// Note:  OK, this pin is the one that ends up being the extra pin at the end. Figure out how to show the annotation on the map while dragging, without having this pin arround on the touch up.
                 
-//                // Create a new Pin instance, display on the map, and save to the context.
-//                self.ephemeralPin = createPinAtPoint(viewPoint, bPersistPin: false)
+                // Create a new Pin instance, display on the map, and save to the context.
+                self.ephemeralPin = createPinAtPoint(viewPoint, bPersistPin: false)
+                // TODO: testing. moved to .Ended
 //                if let pin = self.ephemeralPin {
 //                    self.ephemeralAnnotations.append(pin.annotation)
+//                    println("added ephemeral annotation.")
 //                }
-//                
+                
+                println(".Began ephemeral annotation count = \(self.ephemeralAnnotations.count)")
+                println(".Began mapView annotation count = \(self.mapView.annotations.count)")
+                
             case .Edit:
                 return
             default:

            var annotation = MKPointAnnotation()
            annotation.coordinate = mapCoordinate2D
            
            // record the annotation as an ephemeral annotation
            self.ephemeralAnnotations.append(annotation)
            
            // remove any remaining ephemeral annotations
            self.removeEphemeralAnnotationsFromMapView()
            
//            let annotationsToRemove = self.mapView.annotations.filter { $0 !== self.mapView.userLocation }
//            self.mapView.removeAnnotations( annotationsToRemove )
            
            println("ephemeralAnnotations count = \(self.ephemeralAnnotations.count)")
            
            // Create a new Pin instance, display on the map, and save to the context.
            createPinAtPoint(viewPoint, bPersistPin: true)

                        println("update ephemeral pin coordinates and show \(pin)")
                        // show new ephemeral pin
                        pin.coordinate = mapCoordinate2D
//                        self.showPinOnMap(pin) // not needed to render pin while moved
                        
                        
//                        if let pin = self.ephemeralPin {
//                            self.ephemeralAnnotations.append(pin.annotation)
//                            println("added ephemeral annotation.")
//                        }

                        
                        
                        // Add the annotation to a local array of annotations.
                        var annotations = [MKPointAnnotation]()
