diff --git a/data/prefs.blp b/data/gtk/prefs.blp
similarity index 100%
rename from data/prefs.blp
rename to data/gtk/prefs.blp
diff --git a/data/score-item.ui b/data/gtk/score-item.ui
similarity index 100%
rename from data/score-item.ui
rename to data/gtk/score-item.ui
diff --git a/data/window.blp b/data/gtk/window.blp
similarity index 87%
rename from data/window.blp
rename to data/gtk/window.blp
index 6c680519943ca5f646629fa914cdd90a19de8667..50fbd63febeeda30e37c0b3fa4c751765361dc5a 100644
--- a/data/window.blp
+++ b/data/gtk/window.blp
@@ -31,11 +31,11 @@ template RugbyAppWindow : Adw.ApplicationWindow {
       }
     }
 
-    ScrolledWindow {
-      vexpand: true;
+    Adw.Clamp {
+      maximum-size: 600;
 
-      Adw.ClampScrollable {
-        maximum-size: 600;
+      ScrolledWindow {
+        vexpand: true;
 
         ListView listview {
           styles ["rich-list"]
@@ -46,7 +46,7 @@ template RugbyAppWindow : Adw.ApplicationWindow {
             };
           };
           factory: BuilderListItemFactory {
-            resource: "/uk/me/bcowan/Rugby/score-item.ui";
+            resource: "/uk/me/bcowan/Rugby/gtk/score-item.ui";
           };
         }
       }
diff --git a/data/meson.build b/data/meson.build
index fd78f0c6b53c71cc0bb8f1fefeba4a213c1b8497..f9d543850f49b6afc299783cceb3542052a01b64 100644
--- a/data/meson.build
+++ b/data/meson.build
@@ -5,8 +5,8 @@
 blueprints = custom_target('blueprints',
   input: files(
     'gtk/help-overlay.blp',
-    'prefs.blp',
-    'window.blp'
+    'gtk/prefs.blp',
+    'gtk/window.blp'
   ),
   output: '.',
   command: [find_program('blueprint-compiler'), 'batch-compile', '@OUTPUT@', '@CURRENT_SOURCE_DIR@', '@INPUT@'],
diff --git a/data/rugby.gresource.xml b/data/rugby.gresource.xml
index eb97f5fd18ae0670f2408d6238e0cfd827aa25f0..bc7b194fd1e2e7d2ae535d5a568e46777612cee2 100644
--- a/data/rugby.gresource.xml
+++ b/data/rugby.gresource.xml
@@ -7,8 +7,8 @@
 <gresources>
   <gresource prefix="/uk/me/bcowan/Rugby">
     <file preprocess="xml-stripblanks" compressed="true">gtk/help-overlay.ui</file>
-    <file preprocess="xml-stripblanks" compressed="true">prefs.ui</file>
-    <file preprocess="xml-stripblanks" compressed="true">score-item.ui</file>
-    <file preprocess="xml-stripblanks" compressed="true">window.ui</file>
+    <file preprocess="xml-stripblanks" compressed="true">gtk/prefs.ui</file>
+    <file preprocess="xml-stripblanks" compressed="true">gtk/score-item.ui</file>
+    <file preprocess="xml-stripblanks" compressed="true">gtk/window.ui</file>
   </gresource>
 </gresources>
diff --git a/src/rugby-app-window.c b/src/rugby-app-window.c
index 561f7d1eb9cd4e58c82fb289bc759bedced13a9f..a071c788526710d69be05a0e3ea627df938e72ca 100644
--- a/src/rugby-app-window.c
+++ b/src/rugby-app-window.c
@@ -136,7 +136,7 @@ rugby_app_window_class_init (RugbyAppWindowClass *klass)
     object_class->dispose = rugby_app_window_dispose;
 
     gtk_widget_class_set_template_from_resource (widget_class,
-                                                 "/uk/me/bcowan/Rugby/window.ui");
+                                                 "/uk/me/bcowan/Rugby/gtk/window.ui");
 
     gtk_widget_class_bind_template_child (widget_class, RugbyAppWindow, scorespin);
     gtk_widget_class_bind_template_child (widget_class, RugbyAppWindow, menu_button);
diff --git a/src/rugby-pref-window.c b/src/rugby-pref-window.c
index c226b7b8b7f9c8014e2a9310e744fc574eaaea01..cd250cad60f3a96bf2b4813560cfde3720e0420d 100644
--- a/src/rugby-pref-window.c
+++ b/src/rugby-pref-window.c
@@ -39,7 +39,7 @@ rugby_pref_window_class_init (RugbyPrefWindowClass *klass)
   object_class->dispose = rugby_pref_window_dispose;
 
   gtk_widget_class_set_template_from_resource (widget_class,
-                                               "/uk/me/bcowan/Rugby/prefs.ui");
+                                               "/uk/me/bcowan/Rugby/gtk/prefs.ui");
 
   gtk_widget_class_bind_template_child (widget_class, RugbyPrefWindow, try_spin);
   gtk_widget_class_bind_template_child (widget_class, RugbyPrefWindow, utry_spin);