diff --git a/Android.mk b/Android.mk
index 0179dc0..57adbde 100644
--- a/Android.mk
+++ b/Android.mk
@@ -26,7 +26,7 @@
 
 LOCAL_FORCE_STATIC_EXECUTABLE := true
 
-RECOVERY_VERSION := ClockworkMod Recovery v3.0.0.6
+RECOVERY_VERSION := ClockworkMod Recovery v3.0.0.8
 LOCAL_CFLAGS += -DRECOVERY_VERSION="$(RECOVERY_VERSION)"
 RECOVERY_API_VERSION := 2
 LOCAL_CFLAGS += -DRECOVERY_API_VERSION=$(RECOVERY_API_VERSION)
diff --git a/default_recovery_ui.c b/default_recovery_ui.c
index 51fd330..c39a302 100644
--- a/default_recovery_ui.c
+++ b/default_recovery_ui.c
@@ -43,7 +43,8 @@
         return 1;
     // allow toggling of the display if the correct key is pressed, and the display toggle is allowed or the display is currently off
     if (ui_get_showing_back_button()) {
-        return get_allow_toggle_display() && (key_code == KEY_HOME || key_code == KEY_MENU || key_code == KEY_END);
+        return 0;
+        //return get_allow_toggle_display() && (key_code == KEY_HOME || key_code == KEY_MENU || key_code == KEY_END);
     }
     return get_allow_toggle_display() && (key_code == KEY_HOME || key_code == KEY_MENU || key_code == KEY_POWER || key_code == KEY_END);
 }
@@ -84,6 +85,9 @@
             case KEY_END:
             case KEY_BACKSPACE:
             case KEY_BACK:
+                if (ui_get_showing_back_button()) {
+                    return SELECT_ITEM;
+                }
                 if (!get_allow_toggle_display())
                     return GO_BACK;
         }
diff --git a/edifyscripting.c b/edifyscripting.c
index 7d0d728..83f089f 100644
--- a/edifyscripting.c
+++ b/edifyscripting.c
@@ -134,6 +134,14 @@
         free(path);
         return StringValue(strdup(""));
     }
+    
+    if (strcmp(path, "/data") == 0 && has_datadata()) {
+        ui_print("Formatting /datadata...\n", path);
+        if (0 != format_volume("/datadata")) {
+            free(path);
+            return StringValue(strdup(""));
+        }
+    }
 
 done:
     return StringValue(strdup(path));
