diff --git a/app/src/main/java/de/kuschku/quasseldroid_ng/ui/chat/messages/QuasselMessageRenderer.kt b/app/src/main/java/de/kuschku/quasseldroid_ng/ui/chat/messages/QuasselMessageRenderer.kt
index 940ac0579de71b22fece24974fffc694aa6c6402..da3b5cda99cac6d48a75e2b52a2b0d91526364ea 100644
--- a/app/src/main/java/de/kuschku/quasseldroid_ng/ui/chat/messages/QuasselMessageRenderer.kt
+++ b/app/src/main/java/de/kuschku/quasseldroid_ng/ui/chat/messages/QuasselMessageRenderer.kt
@@ -193,7 +193,7 @@ class QuasselMessageRenderer(
             context.getString(R.string.message_format_part_2),
             formatPrefix(message.senderPrefixes, highlight),
             formatNick(message.sender, self, highlight, true),
-            message.content
+            formatContent(message.content, highlight)
           )
         },
         message.messageId == markerLine
@@ -212,11 +212,33 @@ class QuasselMessageRenderer(
             context.getString(R.string.message_format_quit_2),
             formatPrefix(message.senderPrefixes, highlight),
             formatNick(message.sender, self, highlight, true),
-            message.content
+            formatContent(message.content, highlight)
           )
         },
         message.messageId == markerLine
       )
+      Message_Type.Kick         -> FormattedMessage(
+        message.messageId,
+        timeFormatter.format(message.time.atZone(zoneId)),
+        SpanFormatter.format(
+          context.getString(R.string.message_format_kick),
+          formatContent(message.content, highlight),
+          formatPrefix(message.senderPrefixes, highlight),
+          formatNick(message.sender, self, highlight, true)
+        ),
+        message.messageId == markerLine
+      )
+      Message_Type.Kill         -> FormattedMessage(
+        message.messageId,
+        timeFormatter.format(message.time.atZone(zoneId)),
+        SpanFormatter.format(
+          context.getString(R.string.message_format_kill),
+          formatContent(message.content, highlight),
+          formatPrefix(message.senderPrefixes, highlight),
+          formatNick(message.sender, self, highlight, true)
+        ),
+        message.messageId == markerLine
+      )
       Message_Type.NetsplitJoin -> {
         val split = message.content.split("#:#")
         val (server1, server2) = split.last().split(' ')
@@ -273,7 +295,7 @@ class QuasselMessageRenderer(
   }
 
   @Language("RegExp")
-  private val scheme = "(?:(?:mailto:|(?:[+.-]?\\w)+://)|www(?=\\.\\S+\\.))"
+  private val scheme = "(?:(?:mailto:|magnet:|(?:[+.-]?\\w)+://)|www(?=\\.\\S+\\.))"
   @Language("RegExp")
   private val authority = "(?:(?:[,.;@:]?[-\\w]+)+\\.?|\\[[0-9a-f:.]+])(?::\\d+)?"
   @Language("RegExp")
@@ -365,7 +387,7 @@ class QuasselMessageRenderer(
         formatNickImpl(sender, !self && !highlight, appearanceSettings.showHostmask && showHostmask)
       ColorizeNicknamesMode.NONE         ->
         formatNickImpl(sender, false, appearanceSettings.showHostmask && showHostmask)
-  }
+    }
 
   private fun formatPrefix(prefix: String,
                            highlight: Boolean) = when (appearanceSettings.showPrefix) {
diff --git a/app/src/main/res/values/strings_messages.xml b/app/src/main/res/values/strings_messages.xml
index e7464ac2064668dbeb13a15559e3473c4ef2ea29..b3a7155e070b00b779456e47e97e4122f204568e 100644
--- a/app/src/main/res/values/strings_messages.xml
+++ b/app/src/main/res/values/strings_messages.xml
@@ -23,9 +23,11 @@
   <string name="message_format_mode">Mode %1$s by %2$s%3$s</string>
   <string name="message_format_join">%1$s%2$s joined</string>
   <string name="message_format_part_1">%1$s%2$s left</string>
-  <string name="message_format_part_2">%1$s%2$s left: %3$s</string>
+  <string name="message_format_part_2">%1$s%2$s left (%3$s)</string>
   <string name="message_format_quit_1">%1$s%2$s quit</string>
   <string name="message_format_quit_2">%1$s%2$s quit (%3$s)</string>
+  <string name="message_format_kick">%1$s was kicked by %2$s%3$s</string>
+  <string name="message_format_kill">%1$s was killed by %2$s%3$s</string>
   <plurals name="message_netsplit_join">
     <item quantity="one">Netsplit between %1$s and %2$s ended: %3$d user joined</item>
     <item quantity="other">Netsplit between %1$s and %2$s ended: %3$d users joined</item>