                        "access_token" : accessToken]
         
         Alamofire.request(.PATCH, PlaidURL.connect, parameters: parameters, encoding: .JSON).responseJSON { (request, response, data, error) in
+            println(response)
+            println(data)
+            println(error)
+            callBack(response: response!, data: data as! [String : AnyObject])
+        }
+    }
+    
+    
+    static func patchSubmitMFAResponse(response: String, accessToken: String, username: String, password: String, callBack: (response: NSHTTPURLResponse, data: [String : AnyObject]) -> ()) {
+        let parameters = ["client_id" : clientIDToken,
+                             "secret" : secretToken,
+//                           "username" : username,
+//                           "password" : password,
+//                                "pin" : pin,
+                       "access_token" : accessToken,
+                                "mfa" : response]
+        Alamofire.request(.PATCH, PlaidURL.step, parameters: parameters, encoding: .JSON).responseJSON { (request, response, data, error) in
+            println(response)
+            println(data)
+            println(error)
             callBack(response: response!, data: data as! [String : AnyObject])
         }
     }

                }
            }
            
            if let transactions = data?["transactions"] as? [[String : AnyObject]] {
                if let accounts = data?["accounts"] as? [[String : AnyObject]] {
                    if let accountData = accounts.first {
                        let plaidTransactions = transactions.map { PlaidTransaction(transaction: $0) }
                        callBack(response: response!, account: PlaidAccount(account: accountData), plaidTransactions: plaidTransactions, error: error)
                    }
                }
            }
            callBack(response: response!, account: nil, plaidTransactions: nil, error: nil)
        }

            if error != nil {
                callBack(response: response!, account: nil, plaidTransactions: nil, error: error)
            }
            println(data)
            if let code = data?["code"] as? Int {
                switch code {
                case 1205:
                    let accessToken = data!["access_token"] as! String
                    let userInfo = [NSLocalizedDescriptionKey : "Account Locked",
                                                "accessToken" : accessToken,
                             NSLocalizedFailureReasonErrorKey : "Cannot Access Account",
                        NSLocalizedRecoverySuggestionErrorKey : "Unlock Account"]
                    let connectionError = NSError(domain: "com.nathanmann.InTheBlack", code: 1205, userInfo: userInfo)
                    
                    callBack(response: response!, account: nil, plaidTransactions: nil, error: connectionError)
                case 1206, 1215:
                    let accessToken = data!["access_token"] as! String
                    let userInfo = [NSLocalizedDescriptionKey : "Download was unsuccessful",
                                                "accessToken" : accessToken,
                             NSLocalizedFailureReasonErrorKey : "Account not connected",
                        NSLocalizedRecoverySuggestionErrorKey : "Recconnect the account"]
                    let connectionError = NSError(domain: "com.nathanmann.InTheBlack", code: 1206, userInfo: userInfo)
                    
                    callBack(response: response!, account: nil, plaidTransactions: nil, error: connectionError)
