diff --git a/ableos/src/allocator/mod.rs b/ableos/src/allocator/mod.rs
index 22f9661..e1e59f5 100644
--- a/ableos/src/allocator/mod.rs
+++ b/ableos/src/allocator/mod.rs
@@ -1,7 +1,4 @@
-use alloc::alloc::{GlobalAlloc, Layout};
-
 mod aalloc;
-// use dummy::Dummy;
 
 pub const HEAP_START: usize = 0x_4444_4444_0000;
 /// 131072 bytes
diff --git a/ableos/src/arch/riscv/boards/virt/virt.lds b/ableos/src/arch/riscv/boards/virt/virt.lds
new file mode 100644
index 0000000..c471c85
--- /dev/null
+++ b/ableos/src/arch/riscv/boards/virt/virt.lds
@@ -0,0 +1,64 @@
+OUTPUT_ARCH(riscv64gc)
+
+ENTRY(_boot);
+
+
+SECTIONS {
+    . = 0x80200000;
+    .text : {
+        PROVIDE(__text_start = .);
+        PROVIDE(KERNEL_START = .);
+        *(.init.boot)
+        *(.init.rust)
+        *(.text .text.*)
+        . = ALIGN(4K);
+        PROVIDE(__text_end = .);
+    }
+
+    .data : {
+        PROVIDE(__data_start = .);
+        *(.data .data.* .rodata .rodata.*)
+        . = ALIGN(8);
+        PROVIDE(__tmp_stack_bottom = .);
+        . += 1024 * 1024 * 4;
+        PROVIDE(__tmp_stack_top = .);
+        . += 4096;
+        PROVIDE(__scratch_stack = .);
+        . = ALIGN(8);
+    }
+
+    . = ALIGN(8);
+
+    .sdata : {
+        PROVIDE(__global_pointer$ = .);
+        *(.sdata .sdata.*)       
+        . = ALIGN(4K);
+        PROVIDE(__data_end = .); 
+    }
+
+    PROVIDE(__bss_start = .);
+    .sbss : {
+        *(.sbss .sbss.*);
+    }
+
+    .bss : {
+        *(.bss .bss.*)
+    }
+    . = ALIGN(4K);
+    PROVIDE(__bss_end = .);
+
+    .tdata : {
+        . = ALIGN(4K);
+        PROVIDE(__tdata_start = .);
+        
+        *(.tdata .tdata.*)
+
+        . = ALIGN(4K);
+        PROVIDE(__tdata_end = .);
+    }
+
+    . = ALIGN(2M);
+    PROVIDE(KERNEL_END = .);
+
+    /DISCARD/ : { *(.eh_frame_hdr .eh_frame) }
+}
diff --git a/ableos/src/arch/x86_64/interrupts.rs b/ableos/src/arch/x86_64/interrupts.rs
index 2fe3570..5179729 100644
--- a/ableos/src/arch/x86_64/interrupts.rs
+++ b/ableos/src/arch/x86_64/interrupts.rs
@@ -8,8 +8,6 @@ pub const PIC_2_OFFSET: u8 = PIC_1_OFFSET + 8;
 pub static PICS: spin::Mutex<ChainedPics> =
     spin::Mutex::new(unsafe { ChainedPics::new(PIC_1_OFFSET, PIC_2_OFFSET) });
 
-use crate::arch::sloop;
-use x86_64::structures::idt::PageFaultErrorCode;
 /// Interrupt offsets.
 #[derive(Debug, Clone, Copy)]
 #[repr(u8)]
@@ -99,6 +97,8 @@ extern "x86-interrupt" fn keyboard_interrupt_handler(_stack_frame: InterruptStac
             .notify_end_of_interrupt(InterruptIndex::Keyboard.as_u8());
     }
 }
+
+/*
 extern "x86-interrupt" fn page_fault_handler(
     stack_frame: InterruptStackFrame,
     error_code: PageFaultErrorCode,
@@ -110,3 +110,4 @@ extern "x86-interrupt" fn page_fault_handler(
     println!["{:#?}", stack_frame];
     sloop();
 }
+*/
diff --git a/ableos/src/kmain.rs b/ableos/src/kmain.rs
index 3cd0504..658bf38 100644
--- a/ableos/src/kmain.rs
+++ b/ableos/src/kmain.rs
@@ -4,7 +4,7 @@ use crate::{
     driver_traits::graphics::Graphics,
     experiments::systeminfo::{KERNEL_VERSION, RELEASE_TYPE},
     keyboard::DecodedKey,
-    relib::math::rand::{RAND_HANDLE, RNG},
+    relib::math::rand::RAND_HANDLE,
 };
 
 use lazy_static::lazy_static;
diff --git a/ableos/src/lib.rs b/ableos/src/lib.rs
index 08b62f0..75d4a04 100644
--- a/ableos/src/lib.rs
+++ b/ableos/src/lib.rs
@@ -36,4 +36,6 @@ pub mod kmain;
 pub mod log;
 pub mod panic;
 pub mod relib;
+pub mod wasm;
+
 extern crate alloc;
diff --git a/ableos/src/log.rs b/ableos/src/log.rs
index 7422266..452df75 100644
--- a/ableos/src/log.rs
+++ b/ableos/src/log.rs
@@ -6,23 +6,11 @@ pub trait Log {
 }
 
 use crate::serial_print;
-use lliw::{Bg, Fg, Reset, Style};
+use lliw::{Fg, Reset};
 pub struct ANSISerialLogger;
 impl Log for ANSISerialLogger {
     fn debug() {
-        // serial_print!("[{}Debug{}]",);
-
-        serial_print!(
-            "{}{}Attention!{}{} You have {}{}1{}{} new message",
-            Style::Underline,
-            Fg::Yellow,
-            Style::NoUnderline,
-            Fg::Reset,
-            Bg::White,
-            Fg::Black,
-            Bg::Reset,
-            Fg::Reset,
-        );
+        serial_print!("[{}Debug{}]", Fg::Blue, Reset);
 
         todo!();
     }
diff --git a/ableos/src/wasm/mod.rs b/ableos/src/wasm/mod.rs
index e69de29..8b13789 100644
--- a/ableos/src/wasm/mod.rs
+++ b/ableos/src/wasm/mod.rs
@@ -0,0 +1 @@
+