diff --git a/3do/theme.xml b/3do/theme.xml
deleted file mode 100644
index 6341d308..00000000
--- a/3do/theme.xml
+++ /dev/null
@@ -1,47 +0,0 @@
-
- 3
- ./../carbon.xml
-
-
-
-
- false
- 0.5 0.2
- 0.5 0.5
- 0.3 0
- ./art/controller.svg
-
-
-
-
- ./art/system.svg
-
-
-
-
-
-
-
- ./art/system.svg
- 0.266 0.074
- 0.460 0.126
- 0.5 0.5
-
-
-
- ./art/controller.svg
- 0.874 0.074
- 0.460 0.126
- 0.5 0.5
- bbbbbb
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/ags/theme.xml b/ags/theme.xml
deleted file mode 100644
index 6341d308..00000000
--- a/ags/theme.xml
+++ /dev/null
@@ -1,47 +0,0 @@
-
- 3
- ./../carbon.xml
-
-
-
-
- false
- 0.5 0.2
- 0.5 0.5
- 0.3 0
- ./art/controller.svg
-
-
-
-
- ./art/system.svg
-
-
-
-
-
-
-
- ./art/system.svg
- 0.266 0.074
- 0.460 0.126
- 0.5 0.5
-
-
-
- ./art/controller.svg
- 0.874 0.074
- 0.460 0.126
- 0.5 0.5
- bbbbbb
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/amiga/theme.xml b/amiga/theme.xml
deleted file mode 100644
index 6341d308..00000000
--- a/amiga/theme.xml
+++ /dev/null
@@ -1,47 +0,0 @@
-
- 3
- ./../carbon.xml
-
-
-
-
- false
- 0.5 0.2
- 0.5 0.5
- 0.3 0
- ./art/controller.svg
-
-
-
-
- ./art/system.svg
-
-
-
-
-
-
-
- ./art/system.svg
- 0.266 0.074
- 0.460 0.126
- 0.5 0.5
-
-
-
- ./art/controller.svg
- 0.874 0.074
- 0.460 0.126
- 0.5 0.5
- bbbbbb
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/amstradcpc/theme.xml b/amstradcpc/theme.xml
deleted file mode 100644
index 6341d308..00000000
--- a/amstradcpc/theme.xml
+++ /dev/null
@@ -1,47 +0,0 @@
-
- 3
- ./../carbon.xml
-
-
-
-
- false
- 0.5 0.2
- 0.5 0.5
- 0.3 0
- ./art/controller.svg
-
-
-
-
- ./art/system.svg
-
-
-
-
-
-
-
- ./art/system.svg
- 0.266 0.074
- 0.460 0.126
- 0.5 0.5
-
-
-
- ./art/controller.svg
- 0.874 0.074
- 0.460 0.126
- 0.5 0.5
- bbbbbb
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/apple2/theme.xml b/apple2/theme.xml
deleted file mode 100644
index 6341d308..00000000
--- a/apple2/theme.xml
+++ /dev/null
@@ -1,47 +0,0 @@
-
- 3
- ./../carbon.xml
-
-
-
-
- false
- 0.5 0.2
- 0.5 0.5
- 0.3 0
- ./art/controller.svg
-
-
-
-
- ./art/system.svg
-
-
-
-
-
-
-
- ./art/system.svg
- 0.266 0.074
- 0.460 0.126
- 0.5 0.5
-
-
-
- ./art/controller.svg
- 0.874 0.074
- 0.460 0.126
- 0.5 0.5
- bbbbbb
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/arcade/art/system2.svg b/arcade/art/system2.svg
deleted file mode 100644
index 5111dc28..00000000
--- a/arcade/art/system2.svg
+++ /dev/null
@@ -1,149 +0,0 @@
-
-
-
-
\ No newline at end of file
diff --git a/arcade/theme.xml b/arcade/theme.xml
deleted file mode 100644
index 6341d308..00000000
--- a/arcade/theme.xml
+++ /dev/null
@@ -1,47 +0,0 @@
-
- 3
- ./../carbon.xml
-
-
-
-
- false
- 0.5 0.2
- 0.5 0.5
- 0.3 0
- ./art/controller.svg
-
-
-
-
- ./art/system.svg
-
-
-
-
-
-
-
- ./art/system.svg
- 0.266 0.074
- 0.460 0.126
- 0.5 0.5
-
-
-
- ./art/controller.svg
- 0.874 0.074
- 0.460 0.126
- 0.5 0.5
- bbbbbb
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/art/bottom.png b/art/bottom.png
index 6b4fa458..15bd7085 100644
Binary files a/art/bottom.png and b/art/bottom.png differ
diff --git a/3do/art/controller.svg b/art/controllers/3do.svg
similarity index 100%
rename from 3do/art/controller.svg
rename to art/controllers/3do.svg
diff --git a/ags/art/controller.svg b/art/controllers/ags.svg
similarity index 100%
rename from ags/art/controller.svg
rename to art/controllers/ags.svg
diff --git a/amiga/art/controller.svg b/art/controllers/amiga.svg
similarity index 100%
rename from amiga/art/controller.svg
rename to art/controllers/amiga.svg
diff --git a/amstradcpc/art/controller.svg b/art/controllers/amstradcpc.svg
similarity index 100%
rename from amstradcpc/art/controller.svg
rename to art/controllers/amstradcpc.svg
diff --git a/apple2/art/controller.svg b/art/controllers/apple2.svg
similarity index 100%
rename from apple2/art/controller.svg
rename to art/controllers/apple2.svg
diff --git a/arcade/art/controller.svg b/art/controllers/arcade.svg
similarity index 100%
rename from arcade/art/controller.svg
rename to art/controllers/arcade.svg
diff --git a/astrocade/art/controller.svg b/art/controllers/astrocade.svg
similarity index 100%
rename from astrocade/art/controller.svg
rename to art/controllers/astrocade.svg
diff --git a/atari2600/art/controller.svg b/art/controllers/atari2600.svg
similarity index 100%
rename from atari2600/art/controller.svg
rename to art/controllers/atari2600.svg
diff --git a/atari5200/art/controller.svg b/art/controllers/atari5200.svg
similarity index 100%
rename from atari5200/art/controller.svg
rename to art/controllers/atari5200.svg
diff --git a/atari7800/art/controller.svg b/art/controllers/atari7800.svg
similarity index 100%
rename from atari7800/art/controller.svg
rename to art/controllers/atari7800.svg
diff --git a/atari800/art/controller.svg b/art/controllers/atari800.svg
similarity index 100%
rename from atari800/art/controller.svg
rename to art/controllers/atari800.svg
diff --git a/atarijaguar/art/controller.svg b/art/controllers/atarijaguar.svg
similarity index 100%
rename from atarijaguar/art/controller.svg
rename to art/controllers/atarijaguar.svg
diff --git a/atarilynx/art/controller.svg b/art/controllers/atarilynx.svg
similarity index 100%
rename from atarilynx/art/controller.svg
rename to art/controllers/atarilynx.svg
diff --git a/atarist/art/controller.svg b/art/controllers/atarist.svg
similarity index 100%
rename from atarist/art/controller.svg
rename to art/controllers/atarist.svg
diff --git a/auto-allgames/art/controller.svg b/art/controllers/auto-allgames.svg
similarity index 100%
rename from auto-allgames/art/controller.svg
rename to art/controllers/auto-allgames.svg
diff --git a/auto-favorites/art/controller.svg b/art/controllers/auto-favorites.svg
similarity index 100%
rename from auto-favorites/art/controller.svg
rename to art/controllers/auto-favorites.svg
diff --git a/auto-lastplayed/art/controller.svg b/art/controllers/auto-lastplayed.svg
similarity index 100%
rename from auto-lastplayed/art/controller.svg
rename to art/controllers/auto-lastplayed.svg
diff --git a/bbcmicro/art/controller.svg b/art/controllers/bbcmicro.svg
similarity index 100%
rename from bbcmicro/art/controller.svg
rename to art/controllers/bbcmicro.svg
diff --git a/c64/art/controller.svg b/art/controllers/c64.svg
similarity index 100%
rename from c64/art/controller.svg
rename to art/controllers/c64.svg
diff --git a/channelf/art/controller.svg b/art/controllers/channelf.svg
similarity index 100%
rename from channelf/art/controller.svg
rename to art/controllers/channelf.svg
diff --git a/coco/art/controller.svg b/art/controllers/coco.svg
similarity index 100%
rename from coco/art/controller.svg
rename to art/controllers/coco.svg
diff --git a/colecovision/art/controller.svg b/art/controllers/colecovision.svg
similarity index 100%
rename from colecovision/art/controller.svg
rename to art/controllers/colecovision.svg
diff --git a/custom-collections/art/controller.svg b/art/controllers/custom-collections.svg
similarity index 100%
rename from custom-collections/art/controller.svg
rename to art/controllers/custom-collections.svg
diff --git a/daphne/art/controller.svg b/art/controllers/daphne.svg
similarity index 100%
rename from daphne/art/controller.svg
rename to art/controllers/daphne.svg
diff --git a/desktop/art/controller.svg b/art/controllers/desktop.svg
similarity index 100%
rename from desktop/art/controller.svg
rename to art/controllers/desktop.svg
diff --git a/dragon32/art/controller.svg b/art/controllers/dragon32.svg
similarity index 100%
rename from dragon32/art/controller.svg
rename to art/controllers/dragon32.svg
diff --git a/dreamcast/art/controller.svg b/art/controllers/dreamcast.svg
similarity index 100%
rename from dreamcast/art/controller.svg
rename to art/controllers/dreamcast.svg
diff --git a/fba/art/controller.svg b/art/controllers/fba.svg
similarity index 100%
rename from fba/art/controller.svg
rename to art/controllers/fba.svg
diff --git a/fds/art/controller.svg b/art/controllers/fds.svg
similarity index 100%
rename from fds/art/controller.svg
rename to art/controllers/fds.svg
diff --git a/gameandwatch/art/controller.svg b/art/controllers/gameandwatch.svg
similarity index 100%
rename from gameandwatch/art/controller.svg
rename to art/controllers/gameandwatch.svg
diff --git a/gamegear/art/controller.svg b/art/controllers/gamegear.svg
similarity index 100%
rename from gamegear/art/controller.svg
rename to art/controllers/gamegear.svg
diff --git a/gb/art/controller.svg b/art/controllers/gb.svg
similarity index 100%
rename from gb/art/controller.svg
rename to art/controllers/gb.svg
diff --git a/gba/art/controller.svg b/art/controllers/gba.svg
similarity index 100%
rename from gba/art/controller.svg
rename to art/controllers/gba.svg
diff --git a/gbc/art/controller.svg b/art/controllers/gbc.svg
similarity index 100%
rename from gbc/art/controller.svg
rename to art/controllers/gbc.svg
diff --git a/art/controllers/gc.svg b/art/controllers/gc.svg
new file mode 100644
index 00000000..ad8204c2
--- /dev/null
+++ b/art/controllers/gc.svg
@@ -0,0 +1,173 @@
+
+
diff --git a/genesis/art/controller.svg b/art/controllers/genesis.svg
similarity index 100%
rename from genesis/art/controller.svg
rename to art/controllers/genesis.svg
diff --git a/intellivision/art/controller.svg b/art/controllers/intellivision.svg
similarity index 100%
rename from intellivision/art/controller.svg
rename to art/controllers/intellivision.svg
diff --git a/kodi/art/controller.svg b/art/controllers/kodi.svg
similarity index 100%
rename from kodi/art/controller.svg
rename to art/controllers/kodi.svg
diff --git a/love/art/controller.svg b/art/controllers/love.svg
similarity index 100%
rename from love/art/controller.svg
rename to art/controllers/love.svg
diff --git a/macintosh/art/controller.svg b/art/controllers/macintosh.svg
similarity index 100%
rename from macintosh/art/controller.svg
rename to art/controllers/macintosh.svg
diff --git a/mame-advmame/art/controller.svg b/art/controllers/mame-advmame.svg
similarity index 100%
rename from mame-advmame/art/controller.svg
rename to art/controllers/mame-advmame.svg
diff --git a/mame-libretro/art/controller.svg b/art/controllers/mame-libretro.svg
similarity index 100%
rename from mame-libretro/art/controller.svg
rename to art/controllers/mame-libretro.svg
diff --git a/mame-mame4all/art/controller.svg b/art/controllers/mame-mame4all.svg
similarity index 100%
rename from mame-mame4all/art/controller.svg
rename to art/controllers/mame-mame4all.svg
diff --git a/mame/art/controller.svg b/art/controllers/mame.svg
similarity index 100%
rename from mame/art/controller.svg
rename to art/controllers/mame.svg
diff --git a/mastersystem/art/controller.svg b/art/controllers/mastersystem.svg
similarity index 100%
rename from mastersystem/art/controller.svg
rename to art/controllers/mastersystem.svg
diff --git a/megadrive/art/controller.svg b/art/controllers/megadrive.svg
similarity index 100%
rename from megadrive/art/controller.svg
rename to art/controllers/megadrive.svg
diff --git a/mess/art/controller.svg b/art/controllers/mess.svg
similarity index 100%
rename from mess/art/controller.svg
rename to art/controllers/mess.svg
diff --git a/moto/art/controller.svg b/art/controllers/moto.svg
similarity index 100%
rename from moto/art/controller.svg
rename to art/controllers/moto.svg
diff --git a/msx/art/controller.svg b/art/controllers/msx.svg
similarity index 100%
rename from msx/art/controller.svg
rename to art/controllers/msx.svg
diff --git a/n64/art/controller.svg b/art/controllers/n64.svg
similarity index 100%
rename from n64/art/controller.svg
rename to art/controllers/n64.svg
diff --git a/art/controllers/n64dd.svg b/art/controllers/n64dd.svg
new file mode 100644
index 00000000..5f99c3bf
--- /dev/null
+++ b/art/controllers/n64dd.svg
@@ -0,0 +1,220 @@
+
+
+
+
+
+
+
+
+
+
+
+]>
+
diff --git a/nds/art/controller.svg b/art/controllers/nds.svg
similarity index 100%
rename from nds/art/controller.svg
rename to art/controllers/nds.svg
diff --git a/neogeo/art/controller.svg b/art/controllers/neocd.svg
similarity index 100%
rename from neogeo/art/controller.svg
rename to art/controllers/neocd.svg
diff --git a/art/controllers/neogeo.svg b/art/controllers/neogeo.svg
new file mode 100644
index 00000000..29e4a961
--- /dev/null
+++ b/art/controllers/neogeo.svg
@@ -0,0 +1,76 @@
+
+
+
+
+
+
+
+
+
+
+
+]>
+
diff --git a/nes/art/controller.svg b/art/controllers/nes.svg
similarity index 100%
rename from nes/art/controller.svg
rename to art/controllers/nes.svg
diff --git a/ngp/art/controller.svg b/art/controllers/ngp.svg
similarity index 100%
rename from ngp/art/controller.svg
rename to art/controllers/ngp.svg
diff --git a/ngpc/art/controller.svg b/art/controllers/ngpc.svg
similarity index 100%
rename from ngpc/art/controller.svg
rename to art/controllers/ngpc.svg
diff --git a/odyssey2/art/controller.svg b/art/controllers/odyssey2.svg
similarity index 100%
rename from odyssey2/art/controller.svg
rename to art/controllers/odyssey2.svg
diff --git a/oric/art/controller.svg b/art/controllers/oric.svg
similarity index 100%
rename from oric/art/controller.svg
rename to art/controllers/oric.svg
diff --git a/pc/art/controller.svg b/art/controllers/pc.svg
similarity index 100%
rename from pc/art/controller.svg
rename to art/controllers/pc.svg
diff --git a/pce-cd/art/controller.svg b/art/controllers/pce-cd.svg
similarity index 100%
rename from pce-cd/art/controller.svg
rename to art/controllers/pce-cd.svg
diff --git a/pcengine/art/controller.svg b/art/controllers/pcengine.svg
similarity index 100%
rename from pcengine/art/controller.svg
rename to art/controllers/pcengine.svg
diff --git a/pcfx/art/controller.svg b/art/controllers/pcfx.svg
similarity index 100%
rename from pcfx/art/controller.svg
rename to art/controllers/pcfx.svg
diff --git a/art/controllers/pico8.svg b/art/controllers/pico8.svg
new file mode 100644
index 00000000..8b69be4f
--- /dev/null
+++ b/art/controllers/pico8.svg
@@ -0,0 +1,65 @@
+
+
diff --git a/art/controllers/pokemini.svg b/art/controllers/pokemini.svg
new file mode 100644
index 00000000..a054330d
--- /dev/null
+++ b/art/controllers/pokemini.svg
@@ -0,0 +1,107 @@
+
+
diff --git a/ports/art/controller.svg b/art/controllers/ports.svg
similarity index 100%
rename from ports/art/controller.svg
rename to art/controllers/ports.svg
diff --git a/art/controllers/ps2.svg b/art/controllers/ps2.svg
new file mode 100644
index 00000000..b0b65ba2
--- /dev/null
+++ b/art/controllers/ps2.svg
@@ -0,0 +1,215 @@
+
+
diff --git a/psp/art/controller.svg b/art/controllers/psp.svg
similarity index 100%
rename from psp/art/controller.svg
rename to art/controllers/psp.svg
diff --git a/art/controllers/pspminis.svg b/art/controllers/pspminis.svg
new file mode 100644
index 00000000..c57ff7f7
--- /dev/null
+++ b/art/controllers/pspminis.svg
@@ -0,0 +1,162 @@
+
+
+
diff --git a/psx/art/controller.svg b/art/controllers/psx.svg
similarity index 100%
rename from psx/art/controller.svg
rename to art/controllers/psx.svg
diff --git a/residualvm/art/controller.svg b/art/controllers/residualvm.svg
similarity index 100%
rename from residualvm/art/controller.svg
rename to art/controllers/residualvm.svg
diff --git a/retropie/art/controller.svg b/art/controllers/retropie.svg
similarity index 100%
rename from retropie/art/controller.svg
rename to art/controllers/retropie.svg
diff --git a/samcoupe/art/controller.svg b/art/controllers/samcoupe.svg
similarity index 100%
rename from samcoupe/art/controller.svg
rename to art/controllers/samcoupe.svg
diff --git a/snes/art/controller.svg b/art/controllers/satellaview.svg
similarity index 100%
rename from snes/art/controller.svg
rename to art/controllers/satellaview.svg
diff --git a/saturn/art/controller.svg b/art/controllers/saturn.svg
similarity index 100%
rename from saturn/art/controller.svg
rename to art/controllers/saturn.svg
diff --git a/scummvm/art/controller.svg b/art/controllers/scummvm.svg
similarity index 100%
rename from scummvm/art/controller.svg
rename to art/controllers/scummvm.svg
diff --git a/sega32x/art/controller.svg b/art/controllers/sega32x.svg
similarity index 100%
rename from sega32x/art/controller.svg
rename to art/controllers/sega32x.svg
diff --git a/segacd/art/controller.svg b/art/controllers/segacd.svg
similarity index 100%
rename from segacd/art/controller.svg
rename to art/controllers/segacd.svg
diff --git a/sg-1000/art/controller.svg b/art/controllers/sg-1000.svg
similarity index 100%
rename from sg-1000/art/controller.svg
rename to art/controllers/sg-1000.svg
diff --git a/art/controllers/snes.svg b/art/controllers/snes.svg
new file mode 100644
index 00000000..6050f685
--- /dev/null
+++ b/art/controllers/snes.svg
@@ -0,0 +1,161 @@
+
+
+
+
+
+
+
+
+
+
+
+]>
+
diff --git a/solarus/art/controller.svg b/art/controllers/solarus.svg
similarity index 100%
rename from solarus/art/controller.svg
rename to art/controllers/solarus.svg
diff --git a/steam/art/controller.svg b/art/controllers/steam.svg
similarity index 100%
rename from steam/art/controller.svg
rename to art/controllers/steam.svg
diff --git a/stratagus/art/controller.svg b/art/controllers/stratagus.svg
similarity index 100%
rename from stratagus/art/controller.svg
rename to art/controllers/stratagus.svg
diff --git a/supergrafx/art/controller.svg b/art/controllers/supergrafx.svg
similarity index 100%
rename from supergrafx/art/controller.svg
rename to art/controllers/supergrafx.svg
diff --git a/art/controllers/switch.svg b/art/controllers/switch.svg
new file mode 100644
index 00000000..a30af79a
--- /dev/null
+++ b/art/controllers/switch.svg
@@ -0,0 +1,250 @@
+
+
diff --git a/tg-cd/art/controller.svg b/art/controllers/tg-cd.svg
similarity index 100%
rename from tg-cd/art/controller.svg
rename to art/controllers/tg-cd.svg
diff --git a/tg16/art/controller.svg b/art/controllers/tg16.svg
similarity index 100%
rename from tg16/art/controller.svg
rename to art/controllers/tg16.svg
diff --git a/ti99/art/controller.svg b/art/controllers/ti99.svg
similarity index 100%
rename from ti99/art/controller.svg
rename to art/controllers/ti99.svg
diff --git a/trs-80/art/controller.svg b/art/controllers/trs-80.svg
similarity index 100%
rename from trs-80/art/controller.svg
rename to art/controllers/trs-80.svg
diff --git a/vectrex/art/controller.svg b/art/controllers/vectrex.svg
similarity index 100%
rename from vectrex/art/controller.svg
rename to art/controllers/vectrex.svg
diff --git a/videopac/art/controller.svg b/art/controllers/videopac.svg
similarity index 100%
rename from videopac/art/controller.svg
rename to art/controllers/videopac.svg
diff --git a/virtualboy/art/controller.svg b/art/controllers/virtualboy.svg
similarity index 100%
rename from virtualboy/art/controller.svg
rename to art/controllers/virtualboy.svg
diff --git a/art/controllers/wii.svg b/art/controllers/wii.svg
new file mode 100644
index 00000000..3398db57
--- /dev/null
+++ b/art/controllers/wii.svg
@@ -0,0 +1,229 @@
+
+
diff --git a/art/controllers/wiiu.svg b/art/controllers/wiiu.svg
new file mode 100644
index 00000000..2b7de701
--- /dev/null
+++ b/art/controllers/wiiu.svg
@@ -0,0 +1,183 @@
+
+
diff --git a/wonderswan/art/controller.svg b/art/controllers/wonderswan.svg
similarity index 100%
rename from wonderswan/art/controller.svg
rename to art/controllers/wonderswan.svg
diff --git a/wonderswancolor/art/controller.svg b/art/controllers/wonderswancolor.svg
similarity index 100%
rename from wonderswancolor/art/controller.svg
rename to art/controllers/wonderswancolor.svg
diff --git a/x68000/art/controller.svg b/art/controllers/x68000.svg
similarity index 99%
rename from x68000/art/controller.svg
rename to art/controllers/x68000.svg
index a1139bc5..2b3e5c18 100644
--- a/x68000/art/controller.svg
+++ b/art/controllers/x68000.svg
@@ -1,445 +1,445 @@
-
-
-
-