 	*/
 	public func scanForUUID(advertisingServiceUUIDs: [UUID]?, duration: NSTimeInterval = defaultDuration, completion: (([Advertisement]) -> Void)?, abruption: ((NSError) -> Void)?) {
 		log("CUSP START SCANNING")
+		// -1.
+		self.isScanning = true
+
 		// 0. check if ble is available
 		if let error = self.assertAvailability() {
 			abruption?(error)

				let infoSet = req.available.sort({ (a, b) -> Bool in
					return a.peripheral.core.identifier.UUIDString <= b.peripheral.core.identifier.UUIDString
				})
				completion?(infoSet)
			})
			// scan completed, check request out
			self?.checkOut(req)

	stop scanning, it's an non-block method, and scanRequests will be emptied once called
	*/
	public func stopScan() {
		self.isScanning = false
		self.centralManager.stopScan()
		dispatch_async(self.reqQ) { () -> Void in
			self.scanRequests.removeAll()
		}
		log("CUSP STOPPED SCAN")
	}
}
