         }
     }
     
-    private static func keychainQuery(withService service: String, account: String? = nil, accessGroup: String? = nil) -> [String : Any] {
+    private func keychainQuery(forKey key: String? = nil) -> [String : Any] {
         var query = [String : Any]()
         query[kSecClass as String] = kSecClassGenericPassword
         query[kSecAttrService as String] = service
         
-        if let account = account {
+        if let account = key {
             query[kSecAttrAccount as String] = account
         }
         

    }
    
    internal func remove(key: String) throws {
        let query = KeychainService.keychainQuery(withService: service,
                                                  account: key,
                                                  accessGroup: accessGroup)
        let status = SecItemDelete(query as CFDictionary)
        if status != errSecSuccess && status != errSecItemNotFound {
            debugPrint("delete: \(status)")

        }
    }
    
    internal func get(_ key: String, with prompt: String? = nil) throws -> Data {
        var query = keychainQuery(forKey: key)
        query[kSecMatchLimit as String] = kSecMatchLimitOne
        query[kSecReturnAttributes as String] = kCFBooleanFalse
        query[kSecReturnData as String] = kCFBooleanTrue
        if let authPrompt = prompt {
            query[kSecUseOperationPrompt as String] = authPrompt
        }
        
        var queryResult: AnyObject?
        let status = SecItemCopyMatching(query as CFDictionary, &queryResult)
