diff --git a/hwall-auth-iitk.cabal b/hwall-auth-iitk.cabal
--- a/hwall-auth-iitk.cabal
+++ b/hwall-auth-iitk.cabal
@@ -1,5 +1,5 @@
 name:                hwall-auth-iitk
-version:             0.1.0.0
+version:             0.1.0.1
 synopsis:            Initial version of firewall Authentication for IITK network.
 description:         Firewall Authentication script for IITK network in haskell.
 license:             BSD3
diff --git a/src/Main.hs b/src/Main.hs
--- a/src/Main.hs
+++ b/src/Main.hs
@@ -110,7 +110,18 @@
   putStrLn "Performing operation depending on current status."
   either (alreadyLogged auth) (tryToLog auth) loggedin
 
+
+retryIfFailed :: IO () -> IO ()
+retryIfFailed action = action `catch` with
+  where
+    with :: HttpException -> IO ()
+    with except = do
+      putStrLn $ "Exception: " ++ show except
+      putStrLn $ "Retrying in 30 seconds"
+      threadDelay 30000000   -- Wait 200 seconds
+      retryIfFailed action
+
 main :: IO ()
 main = do
   auth <- getAuthenticationInfo   -- Getting Username and password
-  firewallAuth auth
+  retryIfFailed (firewallAuth auth)
