 		self.centralManager.scanForPeripheralsWithServices(targets, options: nil)
 	}
 
+	/**
+	Check out a ScanRequest object. The scanning operation would stopped if no scan request exists after checking out, or else abstract the target UUID and apply a new scan.
+
+	- parameter request: an instance of ScanRequest
+	*/
 	private func checkOut(request: ScanRequest) -> Void {
 		self.scanRequests.remove(request)
 


extension Cusp {

	private func checkIn(request: ScanRequest) -> Void {
		self.scanRequests.insert(request)


		}
	}

	/**
	Extract target UUIDs from existed scan requests and union them.

	- returns: a new UUID array after union
	*/
	private func restructureTarget() -> [UUID]? {
		var targets = Set<UUID>()
		for req in self.scanRequests {
