                                               withIntermediateDirectories: true)
     } catch {
       log.error("Could not create dir for download: \(error)")
-      return
+      throw KMPError.fileSystem
     }
     
     for keyboard in installableKeyboards {

                                           to: item[1] as! URL)
        } catch {
          log.error("Error saving the download: \(error)")
          return
        }
      }
      Manager.shared.addKeyboard(keyboard)

    }
  }
  
  public func install() throws -> Void {
    if !isValid {
      log.error("can't install invalid keyboard")
      throw KMPError.invalidPackage
    }
    
    do {
