diff --git a/src/adormit/adormit.go b/src/adormit/adormit.go
index 16f1ab9b9060a9f51f363dfc2460c8c57a9ffe99..7619bd3ac0adc85a49fcbefc8b7adc4ba689aeb9 100644
--- a/src/adormit/adormit.go
+++ b/src/adormit/adormit.go
@@ -16,6 +16,10 @@ func Version() string {
 var CurrentTimers []Timer
 var CurrentAlarms map[string]Alarm
 
+func Init() {
+	CurrentAlarms = make(map[string]Alarm)
+}
+
 type Alarm struct {
 	Name   string
 	Early  bool
@@ -42,7 +46,32 @@ func (alarm Alarm) SetAlarm() string {
 }
 
 func (alarm Alarm) UnsetAlarm() {
+	// var alarmsToKeep []map[string]dbus.Variant
+	existing_alarms := GetGnomeAlarms()
+	// variant_alarm := alarm.ToVariant()
+	for _, v := range existing_alarms {
+		//v
+		// debug(v)
+		sig, _ := dbus.ParseSignature("a{sv}")
+		existing_alarms_var := dbus.MakeVariantWithSignature(v, sig)
+		// p, err := dbus.ParseVariant(v, sig)
+		// if err != nil {
+		// 	panic(err)
+		// }
+		// val := p.Value()
+		fmt.Println(existing_alarms_var)
+		// if val.Id != variant_alarm["id"] {
+		// 	alarmsToKeep = append(alarmsToKeep, variant_alarm)
+		// }
+	}
+}
 
+func (alarm Alarm) ToVariant() map[string]dbus.Variant {
+	a := make(map[string]dbus.Variant)
+	a["name"] = dbus.MakeVariant(alarm.Name)
+	a["active"] = dbus.MakeVariant(alarm.Active)
+	a["id"] = dbus.MakeVariant(alarm.Id)
+	return a
 }
 
 type Timer struct {
diff --git a/src/cmd/root.go b/src/cmd/root.go
index 76c62213ed2cefc4bc575162c17b6ebca7d9157a..20cc9907344c48ec793092bed4eaeca59ab92d5c 100644
--- a/src/cmd/root.go
+++ b/src/cmd/root.go
@@ -18,6 +18,7 @@ var RootCmd = &cobra.Command{
 
 func init() {
 	cobra.OnInitialize(initConfig)
+	adormit.Init()
 }
 
 func Execute() {