diff --git a/resources/cards/settings/ui.xml b/resources/cards/setup/ui.xml
similarity index 100%
rename from resources/cards/settings/ui.xml
rename to resources/cards/setup/ui.xml
diff --git a/resources/guessing/settings/ui.xml b/resources/guessing/settings/ui.xml
deleted file mode 100644
index e69de29..0000000
diff --git a/resources/guessing/setup/ui.xml b/resources/guessing/setup/ui.xml
new file mode 100644
index 0000000..17f9098
--- /dev/null
+++ b/resources/guessing/setup/ui.xml
@@ -0,0 +1,16 @@
+
+
+
+ Guessing settings
+
+
+
+
+
diff --git a/resources/resources.gresource.xml b/resources/resources.gresource.xml
index 9ce30b4..47e71d5 100644
--- a/resources/resources.gresource.xml
+++ b/resources/resources.gresource.xml
@@ -1,14 +1,14 @@
- org.foxarmy.settings.gschema.xml
menu/ui.xml
guessing/game/ui.xml
-
- cards/settings/ui.xml
+ guessing/setup/ui.xml
+ cards/setup/ui.xml
+ widgets/labled_switch/template.ui.xml
diff --git a/resources/widgets/labled_switch/template.ui.xml b/resources/widgets/labled_switch/template.ui.xml
new file mode 100644
index 0000000..5930a6f
--- /dev/null
+++ b/resources/widgets/labled_switch/template.ui.xml
@@ -0,0 +1,16 @@
+
+
+
+
+ Practice vocabulary with memory cards
+
+
+
+
+
+
+ There's a question:
+
+
+
+
diff --git a/src/labled_switch/imp.rs b/src/labled_switch/imp.rs
index 3528085..c060ea1 100644
--- a/src/labled_switch/imp.rs
+++ b/src/labled_switch/imp.rs
@@ -1,22 +1,44 @@
-use gtk::glib;
+use std::cell::RefCell;
+
+use glib::subclass::InitializingObject;
+use glib::Properties;
use gtk::subclass::prelude::*;
+use gtk::{glib, prelude::*, CompositeTemplate, Label, Switch};
-// Object holding the state
-#[derive(Default)]
-pub struct LabledSwitch;
+#[derive(CompositeTemplate, Properties, Default)]
+#[properties(wrapper_type = super::LabledSwitch)]
+#[template(resource = "/org/foxarmy/learn-hieroglyph/widgets/labled_switch/template.ui.xml")]
+pub struct LabledSwitch {
+ #[template_child]
+ pub switch_obj: TemplateChild,
+ #[template_child]
+ pub label_obj: TemplateChild