     Timezone from dict
     */
     open class func timeZoneWithDictionary(_ zoneInfo: [AnyHashable: Any]?) -> TimeZone? {
+        guard let zoneName = zoneInfo?["zone"] as? String else { return nil }
         
-        if let zoneName = zoneInfo?["zone"] as? String {
-            return TimeZone(identifier: zoneName)
-        }
-        return nil
+        return TimeZone(identifier: zoneName)
     }
     
 }

    open class func timeZoneWithLocation(_ location:CLLocation, countryCode:String?) -> TimeZone? {
        
        //Need a countr
        if let countryCode = countryCode,
            //Filter
            let filteredZones = filteredTimeZonesWithCountyCode(countryCode),
            //Get closest zone info
            let closestZoneInfo = closestZoneInfoWithLocation(location, source:filteredZones),
            //get timzone
            let timeZone = timeZoneWithDictionary(closestZoneInfo)
        {
            return timeZone
        } else {
            return timeZoneWithLocation(location)
        }
        
    }
    
    /*

        var closestDistance: CLLocationDistance = Double.infinity
        var closestZoneInfo: [AnyHashable: Any]?
        
        guard let source = source else { return nil }
            
        for locationInfo in source {
            guard let latitude = locationInfo["latitude"] as? Double,
                  let longitude = locationInfo["longitude"] as? Double else { continue }
            
            let distance = location.distance( from: CLLocation(latitude: latitude, longitude: longitude) )
            if  distance < closestDistance {
                closestDistance = distance
                closestZoneInfo = locationInfo
            }
        }
        
