diff --git a/Asuro.iso b/Asuro.iso
index 3b2b01e8..6a943d2e 100644
Binary files a/Asuro.iso and b/Asuro.iso differ
diff --git a/bin/kernel.bin b/bin/kernel.bin
index 460d7082..a1816f6b 100755
Binary files a/bin/kernel.bin and b/bin/kernel.bin differ
diff --git a/iso/boot/asuro.bin b/iso/boot/asuro.bin
index 460d7082..a1816f6b 100755
Binary files a/iso/boot/asuro.bin and b/iso/boot/asuro.bin differ
diff --git a/lib/bios_data_area.ppu b/lib/bios_data_area.ppu
index ddf7d5d4..d5c874fb 100644
Binary files a/lib/bios_data_area.ppu and b/lib/bios_data_area.ppu differ
diff --git a/lib/console.o b/lib/console.o
index 3dc3a547..77b501a8 100644
Binary files a/lib/console.o and b/lib/console.o differ
diff --git a/lib/console.ppu b/lib/console.ppu
index 548508cc..6a88ded3 100644
Binary files a/lib/console.ppu and b/lib/console.ppu differ
diff --git a/lib/gdt.ppu b/lib/gdt.ppu
index 3b2d2cde..4f8f4492 100644
Binary files a/lib/gdt.ppu and b/lib/gdt.ppu differ
diff --git a/lib/idt.ppu b/lib/idt.ppu
index b5aabbfc..ff49d963 100644
Binary files a/lib/idt.ppu and b/lib/idt.ppu differ
diff --git a/lib/irq.ppu b/lib/irq.ppu
index a158d4e1..46696e62 100644
Binary files a/lib/irq.ppu and b/lib/irq.ppu differ
diff --git a/lib/isr.ppu b/lib/isr.ppu
index 336c27e9..86ddb510 100644
Binary files a/lib/isr.ppu and b/lib/isr.ppu differ
diff --git a/lib/isr0.ppu b/lib/isr0.ppu
index 8c46808f..c2519a80 100644
Binary files a/lib/isr0.ppu and b/lib/isr0.ppu differ
diff --git a/lib/isr1.ppu b/lib/isr1.ppu
index 34c26278..366f4c2d 100644
Binary files a/lib/isr1.ppu and b/lib/isr1.ppu differ
diff --git a/lib/isr10.ppu b/lib/isr10.ppu
index b0a372df..45f679b1 100644
Binary files a/lib/isr10.ppu and b/lib/isr10.ppu differ
diff --git a/lib/isr11.ppu b/lib/isr11.ppu
index 3640c4d9..3e9d155a 100644
Binary files a/lib/isr11.ppu and b/lib/isr11.ppu differ
diff --git a/lib/isr12.ppu b/lib/isr12.ppu
index dde436ef..8e4bb87d 100644
Binary files a/lib/isr12.ppu and b/lib/isr12.ppu differ
diff --git a/lib/isr13.ppu b/lib/isr13.ppu
index beca2174..e9c74909 100644
Binary files a/lib/isr13.ppu and b/lib/isr13.ppu differ
diff --git a/lib/isr14.ppu b/lib/isr14.ppu
index 6014de14..2ab54ca8 100644
Binary files a/lib/isr14.ppu and b/lib/isr14.ppu differ
diff --git a/lib/isr15.ppu b/lib/isr15.ppu
index 91f6247f..ca826396 100644
Binary files a/lib/isr15.ppu and b/lib/isr15.ppu differ
diff --git a/lib/isr16.ppu b/lib/isr16.ppu
index 2f4823ca..ee544e87 100644
Binary files a/lib/isr16.ppu and b/lib/isr16.ppu differ
diff --git a/lib/isr17.ppu b/lib/isr17.ppu
index e57f3268..69dc6aa3 100644
Binary files a/lib/isr17.ppu and b/lib/isr17.ppu differ
diff --git a/lib/isr18.ppu b/lib/isr18.ppu
index 562a61be..1390d8a0 100644
Binary files a/lib/isr18.ppu and b/lib/isr18.ppu differ
diff --git a/lib/isr2.ppu b/lib/isr2.ppu
index dd2e79f6..9c74264e 100644
Binary files a/lib/isr2.ppu and b/lib/isr2.ppu differ
diff --git a/lib/isr3.ppu b/lib/isr3.ppu
index 0662ba7b..eacddbe8 100644
Binary files a/lib/isr3.ppu and b/lib/isr3.ppu differ
diff --git a/lib/isr32.ppu b/lib/isr32.ppu
index 36c8c6db..70f34f32 100644
Binary files a/lib/isr32.ppu and b/lib/isr32.ppu differ
diff --git a/lib/isr33.ppu b/lib/isr33.ppu
index 0e336565..1e889451 100644
Binary files a/lib/isr33.ppu and b/lib/isr33.ppu differ
diff --git a/lib/isr4.ppu b/lib/isr4.ppu
index 320bbaad..5a0d35f6 100644
Binary files a/lib/isr4.ppu and b/lib/isr4.ppu differ
diff --git a/lib/isr40.ppu b/lib/isr40.ppu
index de168b9d..74ddb174 100644
Binary files a/lib/isr40.ppu and b/lib/isr40.ppu differ
diff --git a/lib/isr5.ppu b/lib/isr5.ppu
index b516d95f..57e93f3a 100644
Binary files a/lib/isr5.ppu and b/lib/isr5.ppu differ
diff --git a/lib/isr6.ppu b/lib/isr6.ppu
index 0b479177..9bd30e19 100644
Binary files a/lib/isr6.ppu and b/lib/isr6.ppu differ
diff --git a/lib/isr7.ppu b/lib/isr7.ppu
index f8876b25..74bf645f 100644
Binary files a/lib/isr7.ppu and b/lib/isr7.ppu differ
diff --git a/lib/isr8.ppu b/lib/isr8.ppu
index 069e94de..04d1b7ba 100644
Binary files a/lib/isr8.ppu and b/lib/isr8.ppu differ
diff --git a/lib/isr9.ppu b/lib/isr9.ppu
index 695efec2..e6808715 100644
Binary files a/lib/isr9.ppu and b/lib/isr9.ppu differ
diff --git a/lib/isr_types.ppu b/lib/isr_types.ppu
index 2ce65563..d00461c4 100644
Binary files a/lib/isr_types.ppu and b/lib/isr_types.ppu differ
diff --git a/lib/kernel.o b/lib/kernel.o
index 02a5ef96..fe1821e9 100644
Binary files a/lib/kernel.o and b/lib/kernel.o differ
diff --git a/lib/kernel.ppu b/lib/kernel.ppu
index 0354f5f2..f34f52fa 100644
Binary files a/lib/kernel.ppu and b/lib/kernel.ppu differ
diff --git a/lib/keyboard.ppu b/lib/keyboard.ppu
index e86ea236..74a83799 100644
Binary files a/lib/keyboard.ppu and b/lib/keyboard.ppu differ
diff --git a/lib/libpconsole.a b/lib/libpconsole.a
index 16cefd75..6f514617 100644
Binary files a/lib/libpconsole.a and b/lib/libpconsole.a differ
diff --git a/lib/libpkernel.a b/lib/libpkernel.a
index c881207c..316cfdf9 100644
Binary files a/lib/libpkernel.a and b/lib/libpkernel.a differ
diff --git a/lib/libpmultiboot.a b/lib/libpmultiboot.a
index c57baddb..9b3febcb 100644
Binary files a/lib/libpmultiboot.a and b/lib/libpmultiboot.a differ
diff --git a/lib/libpsystem.a b/lib/libpsystem.a
index af7a31a4..2bfc7b3f 100644
Binary files a/lib/libpsystem.a and b/lib/libpsystem.a differ
diff --git a/lib/multiboot.ppu b/lib/multiboot.ppu
index 819b356c..641f26cc 100644
Binary files a/lib/multiboot.ppu and b/lib/multiboot.ppu differ
diff --git a/lib/system.o b/lib/system.o
index 06df60ef..3870b08b 100644
Binary files a/lib/system.o and b/lib/system.o differ
diff --git a/lib/system.ppu b/lib/system.ppu
index ecc18de0..d7f926b9 100644
Binary files a/lib/system.ppu and b/lib/system.ppu differ
diff --git a/lib/util.ppu b/lib/util.ppu
index a21b5706..36244b36 100644
Binary files a/lib/util.ppu and b/lib/util.ppu differ
diff --git a/src/kernel.pas b/src/kernel.pas
index 33bda037..3e642c0b 100644
--- a/src/kernel.pas
+++ b/src/kernel.pas
@@ -78,6 +78,7 @@ begin
      console.writeint(((mbinfo^.mem_upper + 1000) div 1024) + 1);
      console.writestringln('MB');
      console.setdefaultattribute(console.combinecolors(lYellow, Black));
+     console.writewordln(uint32(@util.endptr) - KERNEL_VIRTUAL_BASE);
      util.halt_and_dont_catch_fire;
 end;
  
diff --git a/src/stub/stub.asm b/src/stub/stub.asm
index 145819c4..8b662ab5 100644
--- a/src/stub/stub.asm
+++ b/src/stub/stub.asm
@@ -79,8 +79,7 @@ _loader:
 
 kstart:
 	   mov dword [BootPageDirectory], 0
-        invlpg [0]	   
-		
+        invlpg [0]	   		
         mov esp, KERNEL_STACK+KERNEL_STACKSIZE  ;Create kernel stack
         push eax                                ;Multiboot magic number
 	   add ebx, KERNEL_VIRTUAL_BASE
diff --git a/src/system.pas b/src/system.pas
index 52fe7cc2..8ae0d456 100644
--- a/src/system.pas
+++ b/src/system.pas
@@ -11,6 +11,9 @@ unit system;
 
 interface
 
+const
+     KERNEL_VIRTUAL_BASE = $C0000000;
+
 type
     //internal types
     cardinal = 0..$FFFFFFFF;
diff --git a/src/util.pas b/src/util.pas
index f8bfee10..7c625ab4 100644
--- a/src/util.pas
+++ b/src/util.pas
@@ -32,6 +32,8 @@ function inl(port : uint16) : uint32;
 procedure memset(location : uint32; value : uint8; size : uint32);
 procedure psleep(t : uint16);
 
+procedure endptr(); external '__end' name '__end';
+
 implementation
 
 uses