diff --git a/tes/__init__.py b/tes/__init__.py
index 911593baea5ccf81a7616b04654e92f93a71f844..39355b49a93b02997cb8852ff05cfe36f7952207 100644
--- a/tes/__init__.py
+++ b/tes/__init__.py
@@ -27,6 +27,8 @@ else:
 
 api = Api(app)
 sshsessions = {}
+lastcleanup = datetime.datetime.now()
+cleanupinterval = datetime.timedelta(minutes=10)
 if DEV:
     from flask_cors import CORS, cross_origin
     CORS(app, supports_credentials=True, origin="localhost:4200")
@@ -44,6 +46,13 @@ def after_cleanup_sessions(response):
     import logging
     import hashlib
     import json
+    global lastcleanup
+    global sshsessions
+    now = datetime.datetime.now()
+    if (now - lastcleanup) < cleanupinterval:
+        return response
+    lastcleanup = datetime.datetime.now()
+
     logger=logging.getLogger()
     events = logging.getLogger('connection_events')
     slist = []
@@ -79,6 +88,7 @@ def after_cleanup_sessions(response):
         logger.error(e)
         logger.error(traceback.format_exc())
 
+    events.info('currently {} active sessions'.format(len(sshsessions)))
     return response
 
 
diff --git a/tes/sshwrapper/__init__.py b/tes/sshwrapper/__init__.py
index e0ec9ba73987d6870e7d88dcf64193cb977f8706..a38aa1fb5989715cb791a76eea53d1af60b927ab 100644
--- a/tes/sshwrapper/__init__.py
+++ b/tes/sshwrapper/__init__.py
@@ -150,6 +150,12 @@ class Ssh:
             return ctrlsocket
         else:
             sess.lock.release()
+            try:
+                certs = sess.get_certs()
+                if b'The agent has no identities.\n' == certs:
+                    raise SshCtrlException(certs.decode())
+            except Exception as e:
+                pass
             raise SshCtrlException(stderr.decode())
 
     @staticmethod
diff --git a/tes/tunnelstat/__init__.py b/tes/tunnelstat/__init__.py
index c1ad08e52d7a986567856a5b8d8071b56f32efa7..d8bdf106e26f228a37752882be9e36bec7dc030a 100644
--- a/tes/tunnelstat/__init__.py
+++ b/tes/tunnelstat/__init__.py
@@ -14,6 +14,7 @@ class SSHSession:
     """
     def __init__(self,sshsessid,**kwargs):
         self.last = datetime.datetime.now()
+        self.first = datetime.datetime.now()
         self.socket = None
         self.token = None
         self.port = {}
diff --git a/twsproxy/__init__.py b/twsproxy/__init__.py
index e80548465ba9890c408f17c931a9a892363599d2..9a6ddc483388a858c3e56af412a5a95492be47c0 100644
--- a/twsproxy/__init__.py
+++ b/twsproxy/__init__.py
@@ -198,7 +198,7 @@ def mainserver(port=None):
         to_log = to_log + traceback.format_exc()
         logging.basicConfig(filename=os.path.expanduser("~/.tws.log"),format="%(asctime)s %(levelname)s:%(process)s: %(message)s")
     logger = logging.getLogger()
-    logger.setLevel(logging.DEBUG)
+    logger.setLevel(logging.ERROR)
     if to_log is not None:
         logger.debug(to_log)
     logger.debug("starting TWS proxy")