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

    }
  }
  
  public func install() {
    if !isValid {
      log.error("can't install invalid keyboard")
      return
    }
    
    do {

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