         guard let warp = Warp.shared else {
             fatalError("WarpServer is not yet initialized")
         }
-        let _ = Warp.API.get(warp.generateEndpoint(.logout), parameters: nil, headers: warp.HEADER()).warpResponse { (warpResult) in
+        
+        let endPoint = warp.generateEndpoint(.logout)
+        
+        let request = Warp.API.get(endPoint, parameters: nil, headers: warp.HEADER())
+        
+        _ = request.warpResponse { (warpResult) in
             switch warpResult {
             case .success(let JSON):
                 let warpResponse = WarpResponse(json: JSON, result: [String: Any].self)
                 switch warpResponse.statusType {
                 case .success:
-                    WarpUser.deleteCurrent()
+                    Warp.User.deleteCurrent()
                     completion(true, nil)
                 default:
                     completion(true, WarpError(message: warpResponse.message, status: warpResponse.status))

    }
}

// MARK: - Persistence
extension WarpUser {
    internal func setCurrentUser() {
        var strings: [String] = []
        for key in self.objects.keys {
            strings.append(key)
        }
        
        UserDefaults.standard.set(strings, forKey: "swrxCurrentUserKeys_rbBEAFVAWFBVWW")
        for (key, value) in self.objects {
            UserDefaults.standard.set(value, forKey: "swrxCurrentUser\(key)_9gehrpnvr2pv3r")
        }
    }
    
    public static func current() -> WarpUser? {
        let user: WarpUser = WarpUser()
        let keys: [String] = UserDefaults.standard.array(forKey: "swrxCurrentUserKeys_rbBEAFVAWFBVWW") as? [String] ?? []
        
        if keys.count == 0 {

        guard let warp = Warp.shared else {
            fatalError("WarpServer is not yet initialized")
        }
        
        let endPoint = warp.generateEndpoint(.users(id: nil))
        
        let request = Warp.API.post(endPoint, parameters: self.dictionary, headers: warp.HEADER())
        
        _ = request.warpResponse { (warpResult) in
            switch warpResult {
            case .success(let JSON):
                let warpResponse = WarpResponse(json: JSON, result: [String: Any].self)
                switch warpResponse.statusType {
                case .success:
                    self.login(self.username, password: self.password, completion: completion)
                default:
                    completion(true, WarpError(message: warpResponse.message, status: warpResponse.status))
                }
