             ]
         )
     }
-    static func summaryURL(gi: String, database: String) -> URL
+    static func summaryURL(gi: String, database: String) -> NSURL
     {
-        return URL(
-            function: "esummary",
+        return URL("esummary",
             params  : [
                 "db"        : database,
                 "retmode"   : "json",

}

public extension EUtils {
    static func summary(accession: String) throws -> [String:AnyObject]
    {
        let gilist = search(accession, database: "nuccore")
        guard gilist.count > 0 else { return [:] }
        let url = summaryURL(gilist[0], database: "nuccore").url
        guard
            let data = try? NSData(contentsOfURL: url, options: []),
            let json = try? NSJSONSerialization.JSONObjectWithData(data, options: []),

            ]
        )
    }
    static func fetchURL(gi: String, database: String) -> NSURL
    {
        return URL("efetch",
            params  : [
                "db"        : database,
                "retmode"   : "text",
