diff --git a/GoGoDownloader.py b/GoGoDownloader.py
index a79d75d..dbea96d 100644
--- a/GoGoDownloader.py
+++ b/GoGoDownloader.py
@@ -4,6 +4,7 @@ import os
 from backend import gogoanime, CustomMessage, config_check
 from bs4 import BeautifulSoup
 from colorama import Fore
+import logging
 
 OK = f"{Fore.RESET}[{Fore.GREEN}+{Fore.RESET}] "
 ERR = f"{Fore.RESET}[{Fore.RED}-{Fore.RESET}] "
@@ -39,6 +40,7 @@ def gogodownloader(config):
         )
         while True:
             name = input(f"{IN}Enter anime name > ").lower()
+            logging.info("episode searched for " + name)
             if "-" in name:
                 title = name.replace("-", " ").title().strip()
             else:
@@ -70,6 +72,7 @@ def gogodownloader(config):
                 break
             else:
                 print(f"{ERR}Invalid input. Please try again.")
+            logging.info("quality selected " + episode_quality)
         print(f"{OK}Title: {Fore.LIGHTCYAN_EX}{title}")
         print(f"{OK}Episode/s: {Fore.LIGHTCYAN_EX}{all_episodes}")
         print(f"{OK}Quality: {Fore.LIGHTCYAN_EX}{episode_quality}")
@@ -135,7 +138,7 @@ def gogodownloader(config):
             episode_end,
             title,
         )
-
+        gogo.user_logged_in_check()
         source = f"https://gogoanime.{CURRENT_DOMAIN}/{name}"
         with requests.get(source) as res:
             soup = BeautifulSoup(res.content, "html.parser")
diff --git a/backend.py b/backend.py
index 42e0efb..ab3a119 100644
--- a/backend.py
+++ b/backend.py
@@ -7,6 +7,14 @@ from dataclasses import dataclass
 from colorama import Fore
 from parfive import Downloader
 from threading import Semaphore
+import logging
+
+logging.basicConfig(
+    level=logging.INFO,
+    filename="app.log",
+    filemode="w",
+    format="%(name)s - %(levelname)s - %(message)s",
+)
 
 
 OK = f"{Fore.RESET}[{Fore.GREEN}+{Fore.RESET}] "
@@ -25,9 +33,11 @@ def config_check():
         [object]: Config object
     """
     if os.path.exists("./config.json"):
+        logging.info("Config.json loaded")
         with open("./config.json", "r") as f:
             CONFIG = json.load(f)
         if not "GoGoAnime_Username" in CONFIG or len(CONFIG["GoGoAnime_Username"]) == 0:
+            logging.error("GoGoAnime_Username not set in config.json")
             print("GoGoAnime_Username not set in config.json")
             exit(0)
         else:
@@ -35,11 +45,18 @@ def config_check():
                 not "GoGoAnime_Password" in CONFIG
                 or len(CONFIG["GoGoAnime_Password"]) == 0
             ):
+                logging.error("GoGoAnime_Password not set in config.json")
                 print("GoGoAnime_Password not set in config.json")
                 exit(0)
             else:
+                logging.info(
+                    "Config loaded and "
+                    + CONFIG["GoGoAnime_Username"]
+                    + " username found"
+                )
                 return CONFIG
     else:
+        logging.error("config.json not found")
         print("config.json file not found")
         exit(0)
 
@@ -100,6 +117,20 @@ class gogoanime:
         else:
             print("ldldl")
 
+    def user_logged_in_check(
+        self,
+    ):
+        page = requests.get(
+            f"https://gogoanime.film/one-piece-episode-1",
+            cookies=dict(auth=gogoanime.get_gogoanime_auth_cookie(self)),
+        )
+        soup = BeautifulSoup(page.content, "html.parser")
+        loginCheck = soup(text=re.compile("Logout"))
+        if len(loginCheck) is 0:
+            raise Exception(
+                "User is not logged in, make sure account has been activated"
+            )
+
     def get_links(self, source=None):
         if source is not None:
             source_ep = f"https://gogoanime.{self.config['CurrentGoGoAnimeDomain']}/{self.name}-episode-"
diff --git a/version.txt b/version.txt
index 56fea8a..a0cd9f0 100644
--- a/version.txt
+++ b/version.txt
@@ -1 +1 @@
-3.0.0
\ No newline at end of file
+3.1.0
\ No newline at end of file