         let components = region.identifier.componentsSeparatedByString(";")
         var beaconRegion: CLBeaconRegion
         
-        print("components of region id: \(components)")
         // beacon region (id = uuid;major;minor)
         if (components.count > 1) {
             beaconRegion = CLBeaconRegion(proximityUUID: NSUUID(UUIDString: components[0])!, major: CUnsignedShort(components[1])!, minor: CUnsignedShort(components[2])!, identifier: region.identifier)

    }
    
    func didEnterRegion(region: CLRegion) {
        print("didEnterRegion of RegionManager with Region: " + region.identifier)
        for uuidRegion in _uuidRegions {
            if uuidRegion.identifier.lowercaseString == region.identifier.lowercaseString {
                print("found a matching uuid region! lets start ranging!")
                _locationManager.startRangingBeaconsInRegion(uuidRegion)
                break
            }

    }
    
    func didDetermineState(state: CLRegionState, region: CLRegion) {
        if state.rawValue == CLRegionState.Inside.rawValue {
            didEnterRegion(region)
        }
    }

    func didExitRegion(region: CLRegion){
        for uuidRegion in _uuidRegions {
            if uuidRegion.identifier.lowercaseString == region.identifier.lowercaseString {
                _locationManager.stopRangingBeaconsInRegion(uuidRegion)
                for beaconRegion in _beaconRegions {
                    _locationManager.stopMonitoringForRegion(beaconRegion)
