diff --git a/Makefile b/Makefile
index 098565f..28c65a3 100644
--- a/Makefile
+++ b/Makefile
@@ -1,23 +1,21 @@
 all: build/kernel-i386.elf
 clean:
-	-@rm build/*.o build/*.elf 2> /dev/null || true
+	-@rm build/* 2> /dev/null || true
 
-build/start32.o: build/ src/start32.asm
-	nasm -felf32 src/start32.asm -o build/start32.o
-build/kernel-i386.elf: build/start32.o
-	tcc -m32 -nostdlib -Wl,-Ttext,0x100000 -o build/kernel-i386.elf src/*.c build/start32.o
+build/kernel-i386.elf: src/*
+	tcc -m32 -nostdlib -Wl,-Ttext,0x100000 -o build/kernel-i386.elf src/start32.s src/*.c
 image: build/kernel-i386.elf mount
-	cp build/kernel-i386.elf mnt/
+	cp build/kernel-i386.elf mnt/roska/start32.elf
 	sync
 
 qemu-multiboot: build/kernel-i386.elf
 	qemu-system-i386 -kernel build/kernel-i386.elf -serial stdio
 qemu-image: image
-	qemu-system-i386 koalemos.img -serial stdio
+	qemu-system-i386 roska.img -serial stdio
 
-mount: koalemos.img mnt/
+mount: roska.img mnt/
 	@if ! mountpoint -q "mnt/"; then \
-		sudo mount -o loop,offset=1048576,umask=177,dmask=022,uid=$(shell id -u),gid=$(shell id -g) koalemos.img mnt/; \
+		sudo mount -o loop,offset=1048576,umask=177,dmask=022,uid=$(shell id -u),gid=$(shell id -g) roska.img mnt/; \
 	fi;
 umount:
 	@sudo umount mnt
diff --git a/README.md b/README.md
index b6df57b..95b53e8 100644
--- a/README.md
+++ b/README.md
@@ -1,9 +1,10 @@
-# KoalemOS
+# rOSka
 Multiboot compatible stupid useless OS-like project.
 ## Compatibility
-32bit x86 legacy BIOS system
+- x86 system with MultiBoot compatible bootloader.
+- Linear framebuffer graphics
 ## Building
-NASM and TinyCCompiler are used.
+TinyCCompiler is used, even for assembly lol.
 TCC might need manual compilation for 32bit crosscompilation
 on 64bit systems.
 Just download the source and `make cross` or something.
diff --git a/src/kernel.c b/src/kernel.c
index 60d6c3a..223d37f 100644
--- a/src/kernel.c
+++ b/src/kernel.c
@@ -1,3 +1,4 @@
+
 #include "multiboot.h"
 #include "framebuffer.h"
 #include "serial.h"
@@ -19,7 +20,7 @@ void kmain (unsigned int mbootmagick, multiboot_info_t* mbootinfo) {
 	outb(0x3D5, 0x20);
 
 	int serial_initialized = serial_init();
-	serial_write_string("\n=== KoalemOS ===\n");
+	serial_write_string("\n=== rOSka ===\n");
 
 	// Check multiboot header
 	if (mbootmagick != MULTIBOOT_BOOTLOADER_MAGIC) {
@@ -73,11 +74,11 @@ void kmain (unsigned int mbootmagick, multiboot_info_t* mbootinfo) {
 	for(;;) {
 		for(y=0; y < mbootinfo->framebuffer_height; y++) {
 			for(x=0; x < mbootinfo->framebuffer_width; x++) {
-				putpixel(x, y, c, c, c, 0xff);
+				putpixel(x, y, 0, c, c, 0xff);
 			}
 		}
 		c+=4;
 	}
 
-	serial_write_string("\nExecution finished, halting...");
+	serial_write_string("\nExecution finished, halting...\n");
 }
diff --git a/src/serial.c b/src/serial.c
index a9747cf..e4e8e27 100644
--- a/src/serial.c
+++ b/src/serial.c
@@ -20,30 +20,31 @@ int serial_init() {
 	outb(PORT + 4, 0x0B); // IRQs enabled, RTS/DSR set
 	outb(PORT + 4, 0x1E); // Set in loopback mode, test the serial chip
 	outb(PORT + 0, 0xAE); // Test serial chip (send byte 0xAE and check if serial
-		// returns same byte)
+	// returns same byte)
 
-		// Check if serial is faulty (i.e: not same byte as sent)
-		if (inb(PORT + 0) != 0xAE) {
-			return 1;
-		}
-
-		// If serial is not faulty set it in normal operation mode
-		// (not-loopback with IRQs enabled and OUT#1 and OUT#2 bits enabled)
-		outb(PORT + 4, 0x0F);
-		return 0;
+	// Check if serial is faulty (i.e: not same byte as sent)
+	if (inb(PORT + 0) != 0xAE) {
+		return 1;
 	}
-	static int serial_is_transmit_empty() { return inb(PORT + 5) & 0x20; }
 
-	static void serial_write_char(char chr) {
-		while (serial_is_transmit_empty() == 0);
-		outb(PORT, chr);
-	}
-	
-	void serial_write_string(const char* text) {
-		int i = 0;
-		while(text[i]) {
-			serial_write_char(text[i]);
-			i++;
-		}
+	// If serial is not faulty set it in normal operation mode
+	// (not-loopback with IRQs enabled and OUT#1 and OUT#2 bits enabled)
+	outb(PORT + 4, 0x0F);
+	return 0;
+}
 
+static int serial_is_transmit_empty() { return inb(PORT + 5) & 0x20; }
+
+static void serial_write_char(char chr) {
+	while (serial_is_transmit_empty() == 0);
+	outb(PORT, chr);
+}
+
+void serial_write_string(const char* text) {
+	int i = 0;
+	while(text[i]) {
+		serial_write_char(text[i]);
+		i++;
 	}
+
+}
diff --git a/src/start32.asm b/src/start32.asm
deleted file mode 100644
index d4e7471..0000000
--- a/src/start32.asm
+++ /dev/null
@@ -1,47 +0,0 @@
-MULTIBOOT_HEADER_MAGIC      equ 0x1BADB002
-MULTIBOOT_PAGE_ALIGN        equ 1 << 0
-MULTIBOOT_MEMORY_INFO       equ 1 << 1
-MULTIBOOT_VIDEO_REQUEST     equ 0 << 2
-MULTIBOOT_AOUT_KLUDGE       equ 0 << 16
-MULTIBOOT_HEADER_FLAGS      equ MULTIBOOT_PAGE_ALIGN | MULTIBOOT_MEMORY_INFO | MULTIBOOT_VIDEO_REQUEST
-MULTIBOOT_HEADER_FLAGS      equ MULTIBOOT_PAGE_ALIGN | MULTIBOOT_MEMORY_INFO | MULTIBOOT_VIDEO_REQUEST | MULTIBOOT_AOUT_KLUDGE
-MULTIBOOT_CHECKSUM          equ -(MULTIBOOT_HEADER_MAGIC + MULTIBOOT_HEADER_FLAGS)
-
-section .multiboot
-align 4
-	dd MULTIBOOT_HEADER_MAGIC
-	dd MULTIBOOT_HEADER_FLAGS
-	dd MULTIBOOT_CHECKSUM
-	dd 0	; header address
-	dd 0	; load address
-	dd 0	; load end address
-	dd 0	; bss end address
-	dd 0	; entry address
-	dd 0	; video mode_type (0:fb, 1:txt) (set flags[2]!)
-	dd 1024	; video width
-	dd 768	; video height
-	dd 32	; video depth
-
-section .bss
-align 16
-	stack_bottom:
-	resb 16384
-	stack_top:
-
-section .text
-	global  _start
-	extern   kmain
-
-_start:
-	; Setup stack
-	mov esp, stack_top
-
-	; Call the main kernel function.
-	push ebx
-	push eax
-	call kmain
-
-.hang:
-	cli
-	hlt
-	jmp .hang
diff --git a/src/start32.s b/src/start32.s
new file mode 100644
index 0000000..da0207a
--- /dev/null
+++ b/src/start32.s
@@ -0,0 +1,49 @@
+.set MULTIBOOT_PAGE_ALIGN,	1 << 0
+.set MULTIBOOT_MEMORY_INFO,	1 << 1
+.set MULTIBOOT_VIDEO_REQUEST,	1 << 2
+.set MULTIBOOT_AOUT_KLUDGE,	0 << 16
+.set MULTIBOOT_HEADER_MAGIC,	0x1BADB002
+.set MULTIBOOT_HEADER_FLAGS, \
+	MULTIBOOT_PAGE_ALIGN |\
+	MULTIBOOT_MEMORY_INFO |\
+	MULTIBOOT_VIDEO_REQUEST |\
+	MULTIBOOT_AOUT_KLUDGE
+.set MULTIBOOT_CHECKSUM,	-(MULTIBOOT_HEADER_MAGIC + MULTIBOOT_HEADER_FLAGS)
+
+#.section ".multiboottbabeee"
+.align 4
+	.long MULTIBOOT_HEADER_MAGIC
+	.long MULTIBOOT_HEADER_FLAGS
+	.long MULTIBOOT_CHECKSUM
+	.long 0		# header address
+	.long 0		# load address
+	.long 0		# load end address
+	.long 0		# bss end address
+	.long 0		# entry address
+	.long 0		# video mode_type (0:fb, 1:txt) (set flags[2]!)
+	.long 1024	# video width
+	.long 768	# video height
+	.long 32	# video depth
+
+.bss
+.align 16
+	stack_bottom:
+	.skip 16384	# 16k
+	stack_top:
+
+.text
+.global  _start
+_start:
+	# Setup stack
+	mov $stack_top, %esp
+
+	# Call the main kernel function.
+	push %ebx
+	push %eax
+	call kmain
+
+
+	cli
+1:	hlt
+	jmp 1b
+#include "lol.s"