diff --git a/src/kernel/io.c b/src/kernel/io.c
index 55bf7a7..0cf04b2 100644
--- a/src/kernel/io.c
+++ b/src/kernel/io.c
@@ -4,13 +4,11 @@
 #include "pic.h"
 
 bool pressed_keys[LAST_KBD_KEY];
-char special_key_mappings[LAST_KBD_KEY - FIRST_KBD_KEY] =
-{
+char special_key_mappings[LAST_KBD_KEY - FIRST_KBD_KEY] = {
 	[KBD_ENTER - FIRST_KBD_KEY] = '\n',
 	[KBD_SPACEBAR - FIRST_KBD_KEY] = ' ',
 	[KBD_TAB - FIRST_KBD_KEY] = '\t',
 	[KBD_BACKSPACE - FIRST_KBD_KEY] = '\b',
-	0
 };
 
 void outb(ushort port, uchar val)
@@ -50,6 +48,31 @@
 	return dest;
 }
 
+uint strlen(char *a)
+{
+	int i = 0;
+	for (; *a; i++)
+	{
+	}
+
+	return i;
+}
+
+int strcmp(char *a, char *b)
+{
+	int al = strlen(a), bl = strlen(b);
+
+	if (al != bl)
+		return bl - al;
+
+	for (int i = 0; i < al; i++)
+	{
+		if (a[i] != b[i])
+			return -1;
+	}
+	return 0;
+}
+
 void io_wait()
 {
 	asm volatile("outb %0, $0x80" ::"a"(0));
