             var polygons = [NSString]()
             
             if isMultipolygon(line) {
-                polygons = stripExtraneousCharacters(line).componentsSeparatedByString("),")
+                polygons = stripExtraneousCharacters(line).componentsSeparatedByString("),") as [NSString]
             } else {
                 polygons = [stripExtraneousCharacters(line)]
             }

        return input.stringByReplacingOccurrencesOfString("\n", withString: ",").componentsSeparatedByString(",") as [NSString]
    }
    
    private func splitLine(input: String, delimiter: String) -> (String, String) {
        let array = input.componentsSeparatedByString(delimiter)
        return (array.first!, array.last!)
    }
    
    /**
    Convert [(String, String)] array of tuples into a [CLLocationCoordinate2D]
    */
    private func convertToCoordinates(pairs: [(String, String)], longitudeFirst: Bool) -> [CLLocationCoordinate2D] {
        var coordinates = [CLLocationCoordinate2D]()
        for pair in pairs {
            var lat: Double = 0.0
            var lng: Double = 0.0
            if longitudeFirst {
                lat = (pair.1 as NSString).doubleValue
                lng = (pair.0 as NSString).doubleValue
            } else {
                lat = (pair.0 as NSString).doubleValue
                lng = (pair.1 as NSString).doubleValue
            }
            coordinates.append(CLLocationCoordinate2D(latitude: lat, longitude: lng))
        }


        }
        
        var tmpResults = [(NSString, NSString)]()
        for arr in array {
            for var i = 0; i < arr.count - 1; i += 2 {
                tmpResults.append((arr[i], arr[i + 1]))
