diff --git a/frontends/sdl/src/main.rs b/frontends/sdl/src/main.rs
index 17e35639188172fbca10e2e004fd54e0db3503c7..9c6f6d0a0f0bc90136b6f4152f7a676c45200d24 100644
--- a/frontends/sdl/src/main.rs
+++ b/frontends/sdl/src/main.rs
@@ -451,7 +451,7 @@ fn main() {
     // ROM file and starts running it
     let mut emulator = Emulator::new(game_boy);
     emulator.start(SCREEN_SCALE);
-    emulator.load_rom(Some("../../res/roms/pocket.gb"));
+    emulator.load_rom(Some("../../res/roms/demo/pocket.gb"));
     emulator.toggle_palette();
     emulator.run();
 }
diff --git a/frontends/web/ts/gb.ts b/frontends/web/ts/gb.ts
index ce5fab7850f1a3a0dae56ea47c583625c125fe93..aea7ee14a496609b39255bd55554d8e8f111609b 100644
--- a/frontends/web/ts/gb.ts
+++ b/frontends/web/ts/gb.ts
@@ -79,7 +79,7 @@ const KEYS_NAME: Record<string, number> = {
     B: PadKey.B
 };
 
-const ROM_PATH = require("../../../res/roms/pocket.gb");
+const ROM_PATH = require("../../../res/roms/demo/pocket.gb");
 
 /**
  * Top level class that controls the emulator behaviour
diff --git a/res/roms/_headers b/res/roms/_headers
deleted file mode 100644
index a292ad706e3c35f1cae544006acd43d1e72c119b..0000000000000000000000000000000000000000
--- a/res/roms/_headers
+++ /dev/null
@@ -1,4 +0,0 @@
-
-/*
-  X-Robots-Tag: all
-  Access-Control-Allow-Origin: *
diff --git a/res/roms/20y.gb b/res/roms/demo/20y.gb
similarity index 100%
rename from res/roms/20y.gb
rename to res/roms/demo/20y.gb
diff --git a/res/roms/gejmboj.gb b/res/roms/demo/gejmboj.gb
similarity index 100%
rename from res/roms/gejmboj.gb
rename to res/roms/demo/gejmboj.gb
diff --git a/res/roms/pocket.gb b/res/roms/demo/pocket.gb
similarity index 100%
rename from res/roms/pocket.gb
rename to res/roms/demo/pocket.gb
diff --git a/res/roms/opus5.gb b/res/roms/game/opus5.gb
similarity index 100%
rename from res/roms/opus5.gb
rename to res/roms/game/opus5.gb
diff --git a/res/roms/shocklobster.gb b/res/roms/game/shocklobster.gb
similarity index 100%
rename from res/roms/shocklobster.gb
rename to res/roms/game/shocklobster.gb
diff --git a/res/roms/thebouncingball.gb b/res/roms/game/thebouncingball.gb
similarity index 100%
rename from res/roms/thebouncingball.gb
rename to res/roms/game/thebouncingball.gb
diff --git a/res/roms/robots.txt b/res/roms/robots.txt
deleted file mode 100644
index a78466b3d66c7386c0ccc2293a67bccf4b6c85ff..0000000000000000000000000000000000000000
--- a/res/roms/robots.txt
+++ /dev/null
@@ -1,2 +0,0 @@
-User-agent: *
-Allow: /
diff --git a/res/roms/dmg_acid2.gb b/res/roms/test/dmg_acid2.gb
similarity index 100%
rename from res/roms/dmg_acid2.gb
rename to res/roms/test/dmg_acid2.gb
diff --git a/res/roms/firstwhite.gb b/res/roms/test/firstwhite.gb
similarity index 100%
rename from res/roms/firstwhite.gb
rename to res/roms/test/firstwhite.gb
diff --git a/res/roms/jayro.gb b/res/roms/test/jayro.gb
similarity index 100%
rename from res/roms/jayro.gb
rename to res/roms/test/jayro.gb
diff --git a/res/roms/paradius/cpu/01-special.gb b/res/roms/test/paradius/cpu/01-special.gb
similarity index 100%
rename from res/roms/paradius/cpu/01-special.gb
rename to res/roms/test/paradius/cpu/01-special.gb
diff --git a/res/roms/paradius/cpu/02-interrupts.gb b/res/roms/test/paradius/cpu/02-interrupts.gb
similarity index 100%
rename from res/roms/paradius/cpu/02-interrupts.gb
rename to res/roms/test/paradius/cpu/02-interrupts.gb
diff --git a/res/roms/paradius/cpu/03-op sp,hl.gb b/res/roms/test/paradius/cpu/03-op sp,hl.gb
similarity index 100%
rename from res/roms/paradius/cpu/03-op sp,hl.gb
rename to res/roms/test/paradius/cpu/03-op sp,hl.gb
diff --git a/res/roms/paradius/cpu/04-op r,imm.gb b/res/roms/test/paradius/cpu/04-op r,imm.gb
similarity index 100%
rename from res/roms/paradius/cpu/04-op r,imm.gb
rename to res/roms/test/paradius/cpu/04-op r,imm.gb
diff --git a/res/roms/paradius/cpu/05-op rp.gb b/res/roms/test/paradius/cpu/05-op rp.gb
similarity index 100%
rename from res/roms/paradius/cpu/05-op rp.gb
rename to res/roms/test/paradius/cpu/05-op rp.gb
diff --git a/res/roms/paradius/cpu/06-ld r,r.gb b/res/roms/test/paradius/cpu/06-ld r,r.gb
similarity index 100%
rename from res/roms/paradius/cpu/06-ld r,r.gb
rename to res/roms/test/paradius/cpu/06-ld r,r.gb
diff --git a/res/roms/paradius/cpu/07-jr,jp,call,ret,rst.gb b/res/roms/test/paradius/cpu/07-jr,jp,call,ret,rst.gb
similarity index 100%
rename from res/roms/paradius/cpu/07-jr,jp,call,ret,rst.gb
rename to res/roms/test/paradius/cpu/07-jr,jp,call,ret,rst.gb
diff --git a/res/roms/paradius/cpu/08-misc instrs.gb b/res/roms/test/paradius/cpu/08-misc instrs.gb
similarity index 100%
rename from res/roms/paradius/cpu/08-misc instrs.gb
rename to res/roms/test/paradius/cpu/08-misc instrs.gb
diff --git a/res/roms/paradius/cpu/09-op r,r.gb b/res/roms/test/paradius/cpu/09-op r,r.gb
similarity index 100%
rename from res/roms/paradius/cpu/09-op r,r.gb
rename to res/roms/test/paradius/cpu/09-op r,r.gb
diff --git a/res/roms/paradius/cpu/10-bit ops.gb b/res/roms/test/paradius/cpu/10-bit ops.gb
similarity index 100%
rename from res/roms/paradius/cpu/10-bit ops.gb
rename to res/roms/test/paradius/cpu/10-bit ops.gb
diff --git a/res/roms/paradius/cpu/11-op a,(hl).gb b/res/roms/test/paradius/cpu/11-op a,(hl).gb
similarity index 100%
rename from res/roms/paradius/cpu/11-op a,(hl).gb
rename to res/roms/test/paradius/cpu/11-op a,(hl).gb
diff --git a/res/roms/paradius/cpu/cpu_instrs.gb b/res/roms/test/paradius/cpu/cpu_instrs.gb
similarity index 100%
rename from res/roms/paradius/cpu/cpu_instrs.gb
rename to res/roms/test/paradius/cpu/cpu_instrs.gb
diff --git a/res/roms/paradius/instr_timing/instr_timing.gb b/res/roms/test/paradius/instr_timing/instr_timing.gb
similarity index 100%
rename from res/roms/paradius/instr_timing/instr_timing.gb
rename to res/roms/test/paradius/instr_timing/instr_timing.gb
diff --git a/res/roms/paradius/interrupt_time/interrupt_time.gb b/res/roms/test/paradius/interrupt_time/interrupt_time.gb
similarity index 100%
rename from res/roms/paradius/interrupt_time/interrupt_time.gb
rename to res/roms/test/paradius/interrupt_time/interrupt_time.gb
diff --git a/res/roms/paradius/mem_timing/mem_timing.gb b/res/roms/test/paradius/mem_timing/mem_timing.gb
similarity index 100%
rename from res/roms/paradius/mem_timing/mem_timing.gb
rename to res/roms/test/paradius/mem_timing/mem_timing.gb
diff --git a/res/roms/paradius/oam_bug/oam_bug.gb b/res/roms/test/paradius/oam_bug/oam_bug.gb
similarity index 100%
rename from res/roms/paradius/oam_bug/oam_bug.gb
rename to res/roms/test/paradius/oam_bug/oam_bug.gb
diff --git a/res/roms/rtc3test.gb b/res/roms/test/rtc3test.gb
similarity index 100%
rename from res/roms/rtc3test.gb
rename to res/roms/test/rtc3test.gb
diff --git a/res/roms/sprite_priority.gb b/res/roms/test/sprite_priority.gb
similarity index 100%
rename from res/roms/sprite_priority.gb
rename to res/roms/test/sprite_priority.gb