 
         if u.field_set & 16 != 0 {
             let queryString = URI.getSubstring(string, start: u.query_start, end: u.query_end)
-            query = URI.parseQueryString(queryString)
+            query = URI.parse(queryString: queryString)
         } else {
             query = [:]
         }

        }
    }

    @inline(__always) private static func getSubstring(string: String, start: UInt16, end: UInt16) -> String {
        return string[string.startIndex.advanced(by: Int(start)) ..< string.startIndex.advanced(by: Int(end))]
    }

    @inline(__always) private static func parseUserInfoString(userInfoString: String) -> URI.UserInfo? {
        let userInfoElements = userInfoString.split(":")
        if userInfoElements.count == 2 {
            if let
                username = try? String(percentEncoded: userInfoElements[0]),


        if u.field_set & 64 != 0 {
            let userInfoString = URI.getSubstring(string, start: u.user_info_start, end: u.user_info_end)
            userInfo = URI.parse(userInfoString: userInfoString)
        } else {
            userInfo = nil
        }
