     }
 }
 
+/**
+ [Wikipedia]: https://en.wikipedia.org/wiki/List_of_ISO_3166_country_codes "See full list"
+ 
+ A request that uses a ZIP code and optional country code (if country is not specified then the search works for USA as a default).
+ See [Wikipedia] for full list.
+ 
+*/
 public class ZipCodeRequest: WeatherRequest {
     public func parameters() -> [String : Any] {
         var param = self.zipCode

    }
}

public class CityNameRequest: WeatherRequest {
    public func parameters() -> [String : Any] {
        var param = self.cityName

import Foundation
import CoreLocation

/// Generic protocol that returns the parameters need for an API call
public protocol WeatherRequest {
    func parameters() -> [String:Any]
}

/**
 A request that uses coordinates
*/
public class LocationRequest: WeatherRequest {
    public func parameters() -> [String : Any] {
        return ["lat": coordinates.latitude,
