diff --git a/kernel.c b/kernel.c
index e41db163dd9d494ad441163a93a2a844897d8c57..088d1bd315acec3ca5df243084d5ffc288d4e1c0 100644
--- a/kernel.c
+++ b/kernel.c
@@ -85,7 +85,14 @@ void terminal_putentryat(char c, uint8_t color, size_t x, size_t y) {
 }
 
 void terminal_putchar(char c) {
-  terminal_putentryat(c, terminal_color, terminal_column, terminal_row);
+	if (c == '\n'){
+		terminal_column = 0;
+		if (++terminal_row == VGA_HEIGHT){
+			terminal_row = 0;
+}
+
+}else{
+	terminal_putentryat(c, terminal_color, terminal_column, terminal_row);
   if (++terminal_column == VGA_WIDTH) {
     terminal_column = 0;
     if (++terminal_row == VGA_HEIGHT) {
@@ -93,6 +100,9 @@ void terminal_putchar(char c) {
     }
   }
 }
+	
+  
+}
  
 void terminal_writestring(const char* data) {
   size_t datalen = strlen(data);
@@ -111,5 +121,12 @@ void kernel_main() {
    * yet, '\n' will produce some VGA specific character instead.
    * This is normal.
    */
-  terminal_writestring("Hello, kernel World!\n");
+
+/*Output "Hello World" in blue */
+terminal_setcolor(make_color(COLOR_BLUE, COLOR_BLACK));
+terminal_writestring("Hello, kernel World!\n");
+
+/*Output "Hello World" in red */
+terminal_setcolor(make_color(COLOR_RED, COLOR_BLACK));
+terminal_writestring("Hello, kernel World!\n");
 }