diff --git a/src/snek/service/channel_member.py b/src/snek/service/channel_member.py
index 42415d1..5c6c7ee 100644
--- a/src/snek/service/channel_member.py
+++ b/src/snek/service/channel_member.py
@@ -5,6 +5,13 @@ class ChannelMemberService(BaseService):
 
     mapper_name = "channel_member"
 
+    async def mark_as_read(self, channel_uid, user_uid):
+        channel_member =  await self.get(
+            channel_uid=channel_uid,
+            user_uid=user_uid
+        )
+        channel_member["new_count"] = 0
+        return await self.save(channel_member)
 
     async def create(
         self,
diff --git a/src/snek/service/notification.py b/src/snek/service/notification.py
index e6915bf..0b54a23 100644
--- a/src/snek/service/notification.py
+++ b/src/snek/service/notification.py
@@ -43,7 +43,6 @@ class NotificationService(BaseService):
             usr = await self.services.user.get(uid=channel_member["user_uid"])
             if not usr:
                 continue
-            print("INSERTED FOR ",usr["username"],flush=True)
             await self.services.channel_member.save(channel_member)
 
             model = await self.new()
diff --git a/src/snek/system/mapper.py b/src/snek/system/mapper.py
index e7415e1..3b6c7c6 100644
--- a/src/snek/system/mapper.py
+++ b/src/snek/system/mapper.py
@@ -49,7 +49,6 @@ class BaseMapper:
         if not model.record.get("uid"):
             raise Exception(f"Attempt to save without uid: {model.record}.")
         model.updated_at.update()
-        print(model.record,flush=True)
         return self.table.upsert(model.record, ["uid"])
 
     async def find(self, **kwargs) -> typing.AsyncGenerator:
diff --git a/src/snek/system/view.py b/src/snek/system/view.py
index 5371d33..3d52892 100644
--- a/src/snek/system/view.py
+++ b/src/snek/system/view.py
@@ -70,4 +70,3 @@ class BaseFormView(BaseView):
         return await self.json_response(result)
 
     async def submit(self, model=None):
-        print("Submit sucess")
diff --git a/src/snek/templates/web.html b/src/snek/templates/web.html
index 8a68f64..28ad4d2 100644
--- a/src/snek/templates/web.html
+++ b/src/snek/templates/web.html
@@ -184,6 +184,7 @@
         setTimeout(() => {
             updateLayout(doScrollDownBecauseLastMessageIsVisible)
         }, 1000);
+        app.rpc.markAsRead(channelUid);
     });
 
     initInputField(getInputField());
diff --git a/src/snek/view/rpc.py b/src/snek/view/rpc.py
index b5c3504..27a8dcf 100644
--- a/src/snek/view/rpc.py
+++ b/src/snek/view/rpc.py
@@ -39,9 +39,9 @@ class RPCView(BaseView):
         def is_logged_in(self):
             return self.view.session.get("logged_in", False)
 
-        async def mark_as_read(self, message_uid):
+        async def mark_as_read(self, channel_uid):
             self._require_login()
-            await self.services.notification.mark_as_read(self.user_uid, message_uid)
+            await self.services.channel_member.mark_as_read(channel_uid, self.user_uid) 
             return True
 
         async def login(self, username, password):
@@ -167,7 +167,6 @@ class RPCView(BaseView):
                 await self._send_json({"callId": call_id, "success": False, "data": str(ex)})
 
         async def _send_json(self, obj):
-            print(obj, flush=True)
             await self.ws.send_str(json.dumps(obj, default=str))
     
 
diff --git a/src/snek/view/terminal.py b/src/snek/view/terminal.py
index 26de464..fac680c 100644
--- a/src/snek/view/terminal.py
+++ b/src/snek/view/terminal.py
@@ -31,7 +31,6 @@ class TerminalSocketView(BaseView):
         root = await self.prepare_drive()
         
         command = f"docker run -v ./{root}/:/root --rm -it --memory 512M --cpus=0.5 -w /root ubuntu:latest /bin/bash"
-        print(command)
 
         session = self.user_sessions.get(user["uid"])
         if not session: