             "amount" : String(amount),
             "category" : categoryIdString,
             "type" : "boolean",
-            "token" : sessionToken
+            "token" : ""
         ]
         
-//        if let token = userDefaults.string(forKey: sessionTokenUserDefaultsKey) {
-//            
-//        }
-//        guard let token = userDefaults.string(forKey: sessionTokenUserDefaultsKey) else {
-//            
-//        }
-        
-        let token = userDefaults.string(forKey: sessionTokenUserDefaultsKey)
-        if token != nil { // Token exists in memory
-            if let t = token {
-                sessionToken = t
-                parameters["token"] = t
-                print(parameters["token"] as! String)
+        if let token = userDefaults.string(forKey: sessionTokenUserDefaultsKey) { // Token not nil, saved in memory
+            parameters["token"] = token
+            self.makeRequestForStories(parameters, completion: {json in
+                var array = [Story]()
+                for (_, subJson) in json["results"] {
+                    if let storyTitle = subJson["question"].string?.html2String,
+                        let storyFactString = subJson["correct_answer"].string,
+                        let storyFactBool = determineStoryReliable(factString: storyFactString) {
+                        array.append(Story(title: storyTitle, url: "", fact: storyFactBool))
+                    }
+                }
+                completion(array)
+            })
+        }
+        guard userDefaults.string(forKey: sessionTokenUserDefaultsKey) != nil else { // Token is nil, not saved in memory
+            getSessionToken(completion: {token in
+                parameters["token"] = token
+                self.userDefaults.set(token, forKey: sessionTokenUserDefaultsKey)
                 self.makeRequestForStories(parameters, completion: {json in
                     var array = [Story]()
                     for (_, subJson) in json["results"] {

                    // Code 2: Invalid Parameter Contains an invalid parameter. Arguements passed in aren't valid. (Ex. Amount = Five)
                    case 3: // Token Not Found: Session Token does not exist.
                        self.getSessionToken(completion: {token in
                            self.sessionToken = token
                            self.makeRequestForStories(params, completion: {json in
                                completion(json)
                            })
                        })
                    case 4: // Token Empty: Session Token has returned all possible questions for the specified query. Resetting the Token is necessary.
                        self.resetSessionToken(token: self.sessionToken, completion: {token in
                            self.sessionToken = token
                            self.makeRequestForStories(params, completion: {json in
                                completion(json)
                            })
                        })

                }
            }
        })
    }
    
    private func getSessionToken(completion:  @escaping (_ token: String) -> Void) {
