     public func clusteredAnnotationsWithinMapRect(rect:MKMapRect, withZoomScale zoomScale:Double) -> [MKAnnotation]{
         guard !zoomScale.isInfinite else { return [] }
         
-        let cellSize:CGFloat = FBClusteringManager.FBCellSizeForZoomScale(MKZoomScale(zoomScale))
-        
-        //        if delegate?.respondsToSelector("cellSizeFactorForCoordinator:") {
-        //            cellSize *= delegate.cellSizeFactorForCoordinator(self)
-        //        }
+        let zoomLevel   = FBClusteringManager.FBZoomScaleToZoomLevel(MKZoomScale(zoomScale))
+        let cellSize    = FBClusteringManager.FBCellSizeForZoomLevel(zoomLevel)
         
         let scaleFactor:Double = zoomScale / Double(cellSize)
         

                    cluster.coordinate = coordinate
                    cluster.annotations = annotations
                    clusteredAnnotations.append(cluster)
                } else {
                    clusteredAnnotations += annotations
                }
            }
            
        }
        
        

                
                let count = annotations.count
                
                if count == 1 || zoomLevel >= self.maxZoomLevel {
                    clusteredAnnotations += annotations
                } else if count > 1 {
                    let coordinate = CLLocationCoordinate2D(
                        latitude: CLLocationDegrees(totalLatitude)/CLLocationDegrees(count),
                        longitude: CLLocationDegrees(totalLongitude)/CLLocationDegrees(count)
