make it pretty
diff --git a/Android.mk b/Android.mk
index 688acb9..2e565bb 100644
--- a/Android.mk
+++ b/Android.mk
@@ -25,7 +25,7 @@
 
 LOCAL_FORCE_STATIC_EXECUTABLE := true
 
-RECOVERY_API_VERSION := 2
+RECOVERY_API_VERSION := 1.4
 LOCAL_CFLAGS += -DRECOVERY_API_VERSION=$(RECOVERY_API_VERSION)
 
 # This binary is in the recovery ramdisk, which is otherwise a copy of root.
diff --git a/default_recovery_ui.c b/default_recovery_ui.c
index d832794..2b78e0c 100644
--- a/default_recovery_ui.c
+++ b/default_recovery_ui.c
@@ -20,9 +20,7 @@
 #include "common.h"
 #include "extendedcommands.h"
 
-char* MENU_HEADERS[] = { "Android system recovery utility",
-                         "",
-                         NULL };
+char* MENU_HEADERS[] = { NULL };
 
 char* MENU_ITEMS[] = { "reboot system now",
                        "apply sdcard:update.zip",
diff --git a/nandroid/nandroid-mobile.sh b/nandroid/nandroid-mobile.sh
index 6de3a8c..3f516d6 100755
--- a/nandroid/nandroid-mobile.sh
+++ b/nandroid/nandroid-mobile.sh
@@ -55,7 +55,6 @@
 RECOVERY=foo
 
 echo "nandroid-mobile v2.1"
-echo here > /etc/foo
 mkfstab.sh > /etc/fstab
 
 if [ "$1" == "" ]; then
@@ -193,7 +192,7 @@
 	3) echo "Error mounting sdcard read-write"; umount /system /data /sdcard; exit 15;;
 esac
 
-TIMESTAMP="`date +%Y%m%d-%H%M`"
+TIMESTAMP="`date +%Y-%m-%d-%H%M`"
 BASEDIR=/sdcard/nandroid
 if [ ! -z "$2" ]; then
 	BASEDIR=$2
diff --git a/recovery.c b/recovery.c
index 45911ea..6b16470 100644
--- a/recovery.c
+++ b/recovery.c
@@ -136,7 +136,7 @@
     if (strchr("wa", mode[0])) dirCreateHierarchy(path, 0777, NULL, 1);
 
     FILE *fp = fopen(path, mode);
-    if (fp == NULL) LOGE("Can't open %s\n", path);
+    if (fp == NULL && root_path != COMMAND_FILE) LOGE("Can't open %s\n", path);
     return fp;
 }
 
@@ -284,8 +284,8 @@
 
 static char**
 prepend_title(char** headers) {
-    char* title[] = { "Android system recovery <"
-                          EXPAND(RECOVERY_API_VERSION) "e>",
+    char* title[] = { "ClockworkMod Recovery v"
+                          EXPAND(RECOVERY_API_VERSION),
                       "",
                       NULL };
 
@@ -393,7 +393,8 @@
 prompt_and_wait()
 {
     char** headers = prepend_title(MENU_HEADERS);
-
+    ui_print("ClockworkMod Recovery v"EXPAND(RECOVERY_API_VERSION)"\n");
+    
     for (;;) {
         finish_recovery(NULL);
         ui_reset_progress();
diff --git a/ui.c b/ui.c
index 70ddc33..fdb11f4 100644
--- a/ui.c
+++ b/ui.c
@@ -164,6 +164,10 @@
   }
 }
 
+#define MENU_TEXT_COLOR 7, 133, 74, 255
+#define NORMAL_TEXT_COLOR 200, 200, 200, 255
+#define HEADER_TEXT_COLOR NORMAL_TEXT_COLOR
+
 // Redraw everything on the screen.  Does not flip pages.
 // Should only be called with gUpdateMutex locked.
 static void draw_screen_locked(void)
@@ -177,15 +181,21 @@
 
         int i = 0;
         if (show_menu) {
-            gr_color(64, 96, 255, 255);
+            gr_color(MENU_TEXT_COLOR);
             gr_fill(0, (menu_top+menu_sel) * CHAR_HEIGHT,
                     gr_fb_width(), (menu_top+menu_sel+1)*CHAR_HEIGHT+1);
 
+            gr_color(HEADER_TEXT_COLOR);
+            int is_drawing_header = 1;
             for (; i < menu_top + menu_items; ++i) {
+                if (is_drawing_header && strcmp(menu[i], "") == 0) {
+                    gr_color(MENU_TEXT_COLOR);
+                    is_drawing_header = 0;            
+                }
                 if (i == menu_top + menu_sel) {
                     gr_color(255, 255, 255, 255);
                     draw_text_line(i, menu[i]);
-                    gr_color(64, 96, 255, 255);
+                    gr_color(MENU_TEXT_COLOR);
                 } else {
                     draw_text_line(i, menu[i]);
                 }
@@ -195,7 +205,7 @@
             ++i;
         }
 
-        gr_color(255, 255, 0, 255);
+        gr_color(NORMAL_TEXT_COLOR);
 
         for (; i < text_rows; ++i) {
             draw_text_line(i, text[(i+text_top) % text_rows]);
@@ -458,6 +468,9 @@
     pthread_mutex_unlock(&gUpdateMutex);
 }
 
+#define MENU_ITEM_HEADER " - "
+#define MENU_ITEM_HEADER_LENGTH strlen(MENU_ITEM_HEADER)
+
 void ui_start_menu(char** headers, char** items) {
     int i;
     pthread_mutex_lock(&gUpdateMutex);
@@ -470,7 +483,8 @@
         menu_top = i;
         for (; i < text_rows; ++i) {
             if (items[i-menu_top] == NULL) break;
-            strncpy(menu[i], items[i-menu_top], text_cols-1);
+            strcpy(menu[i], MENU_ITEM_HEADER);
+            strncpy(menu[i] + MENU_ITEM_HEADER_LENGTH, items[i-menu_top], text_cols-1 - MENU_ITEM_HEADER_LENGTH);
             menu[i][text_cols-1] = '\0';
         }
         menu_items = i - menu_top;