         }
     }
     
-    /// This subscript returns a Database struct given a String
+    /// Returns a `Database` instance referring to the database with the provided database name
+    ///
     /// - parameter database: The database's name
+    ///
     /// - returns: A database instance for the requested database
     public subscript (database: String) -> Database {
         let database = replaceOccurrences(in: database, where: ".", with: "")

    
    internal private(set) var serverData: (maxWriteBatchSize: Int32, maxWireVersion: Int32, minWireVersion: Int32, maxMessageSizeBytes: Int32)?
    
    // Initializes a MongoDB Client instance on a given connection
    // - parameter client: The Stream Client connected to the MongoDB Serer
    // - parameter authentication: The optional Login Credentials for the account on the server
    // - parameter autoConnect: Whether we automatically connect
    //    public init(_ client: StreamClient, using authentication: (username: String, password: String)? = nil, automatically connecting: Bool = false) throws {
    //        self.client = client
    //
    //        self.authDetails = authentication
    //
    //        if connecting {
    //            try self.connect()
    //        }
    //    }
    
    public convenience init(_ url: NSURL, using tcpDriver: MongoTCP.Type = CSocket.self, automatically connecting: Bool = true) throws {
        #if os(Linux)
            let scheme = url.scheme ?? ""

        }
    }
    
    /// Waits until the server responded to the request with the provided ID.
    /// Waits until the timeout is reached and throws if this is the case.
    ///
    /// - parameter response: The response's ID that we're awaiting a reply for
    /// - parameter until: Until when we'll wait for a response
    ///
    /// - throws: Timeout reached or an internal MongoKitten error occured. In the second case, please file a ticket
    ///
    /// - returns: The reply
    internal func await(response requestId: Int32, until timeout: NSTimeInterval = 60) throws -> Message {
        let condition = NSCondition()
