 		if self.scanRequests.isEmpty {
 			self.centralManager.stopScan()
 		} else {
-			let targets = self.restructureTarget()
+			let targets = self.unionTarget()
 			self.centralManager.scanForPeripheralsWithServices(targets, options: nil)
 		}
 	}

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

		let targets = self.restructureTarget()
		self.centralManager.scanForPeripheralsWithServices(targets, options: nil)
	}



	- returns: a new UUID array after union
	*/
	private func unionTarget() -> [UUID]? {
		var targets = Set<UUID>()
		for req in self.scanRequests {
			// if any request targets at overall scan...
