     private typealias ListPtr = UnsafeMutablePointer<MMDB_entry_data_list_s>
     private typealias StringPtr = UnsafeMutablePointer<String>
 
-    public init?(_ filename: String) {
+    public init?(_ filename: String = "") {
         var cfilename = (filename as NSString).UTF8String
         var cfilenamePtr = UnsafePointer<Int8>(cfilename)
 

import Foundation

public struct MMDBContinent {
    var code: String?
    var names: [String: String]?
}

public struct MMDBCountry: CustomStringConvertible {
    var continent = MMDBContinent()
    var isoCode = ""
    var names = [String: String]()

    init(dictionary: NSDictionary) {
        if let dict = dictionary["continent"],

        return JSONString
    }

    public func lookup(IPString: String) -> MMDBCountry? {
        guard let s = lookupJSON(IPString) else {
            return nil
        }

