 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,

    }
}

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

    }
}

/**
 [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
