 public extension HostController {
     
     private static func requestControllers() throws -> [HostController] {
-        
-        let socket = try HostController.Socket()
-        return try socket.deviceList()
-            .sorted { $0.identifier < $1.identifier }
-            .compactMap { try? HostController(identifier: $0.identifier) }
+        let fileDescriptor = try FileDescriptor.bluetooth(.hci, flags: [.closeOnExec])
+        return try fileDescriptor.closeAfter {
+            try fileDescriptor.deviceList()
+                .lazy
+                .sorted { $0.id.rawValue < $1.id.rawValue }
+                .compactMap { try? HostController(id: $0.id) }
+        }
     }
     
     static var controllers: [HostController] {

    }
    
    static var `default`: HostController? {
        
        guard let socket = try? HostController.Socket(),
            let list = try? socket.deviceList(),
            let device = list.first
            else { return nil }
        
        return try? HostController(identifier: device.identifier)
    }
}

public extension HostController {
    
    /// Open and initialize HCI device.

        return try internalSocket.deviceInformation(identifier)
    }
}
*/
// MARK: - Supporting Types

public extension HostController {
