     weak var delegate: PlacesProviderDelegate?
 
     private let database = FirebasePlacesDatabase()
-
-    private lazy var sessionManager: AFHTTPSessionManager = {
-        let manager = AFHTTPSessionManager(sessionConfiguration: .default)
-        manager.responseSerializer = AFHTTPResponseSerializer()
-        return manager
-    }()
 
     private lazy var radius: Double = {
         return RemoteConfigKeys.searchRadiusInKm.value

        }
    }

    // replaces any Place in nearbyPlaces with the equivalent Place from eventPlaces if it exists
    // otherwise just adds the eventPlace to the result
    // leaving a combination of places with events and places nearby
    private func union(ofNearbyPlaces nearbyPlaces: [Place]?, andEventPlaces eventPlaces: [Place]?) -> [Place] {
        var unionOfPlaces = nearbyPlaces ?? []
        for eventPlace in (eventPlaces ?? []){
            if let placeIndex = unionOfPlaces.index(of: eventPlace) {
                unionOfPlaces[placeIndex] = eventPlace
            } else {
                unionOfPlaces.append(eventPlace)
            }
        }
        return unionOfPlaces
    }

    func nextPlace(forPlace place: Place) -> Place? {
        return self.placesLock.withReadLock {
            // if the place isn't in the list, make the first item in the list the next item

    func index(forPlace place: Place) -> Int? {
        return self.placesLock.withReadLock {
            return placeKeyMap[place.id]
        }
    }

