 // MARK: - Parsing {
 
 struct RegionsResponse: Codable {
-  let modes: [String: ModeDetails]
-  let regions: [SVKRegion]
+  let modes: [String: ModeDetails]?
+  let regions: [SVKRegion]?
   let hashCode: Int
 }
 

  /// - Returns: The localized title as defined by the server
  @objc
  public func title(forModeIdentifier mode: String) -> String? {
    return response?.modes[mode]?.title
  }
  
  /// - Parameter mode: The mode identifier for which you want the official website URL
  /// - Returns: The URL as defined by the server
  @objc
  public func websiteURL(forModeIdentifier mode: String) -> URL? {
    return response?.modes[mode]?.websiteURL
  }
  
  /// - Parameter mode: The mode identifier for which you want the official color
  /// - Returns: The color as defined by the server
  @objc
  public func color(forModeIdentifier mode: String) -> SGKColor? {
    return response?.modes[mode]?.color
  }
  
  /// - Returns: If specified mode identifier is required and can't get disabled.
  @objc
  public func modeIdentifierIsRequired(_ mode: String) -> Bool {
    return response?.modes[mode]?.required ?? false
  }
  
  /// - Returns: List of modes that this mode implies, i.e., enabling the specified modes should also enable all the returned modes.
  @objc(impliedModeIdentifiers:)
  public func impliedModes(byModeIdentifer mode: String) -> [String] {
    return response?.modes[mode]?.implies ?? []
  }
  
  /// - Returns: List of modes that are dependent on this mode, i.e., disabling this mode should also disable all the returned modes.

  public func imageURL(forModeIdentifier mode: String?, iconType: SGStyleModeIconType) -> URL? {
    guard
      let mode = mode,
      let details = response?.modes?[mode]
      else { return nil }
    
    var part: String?
