 int mode = CLOCK_MODE; // BACKLIGHT_MODE;
 char s[200];
 
-DateTime wakeTime = DateTime( 2016,1,1,17,45); // 5:45am
+DateTime wakeTime = DateTime( 2016,1,1, // ignore y,m,d
+                              5,45); // 5:45am
+
+#define MODE_INDEX 0
 
 /*******************************************************************************
 *******************************************************************************/
 void setup() {
 
   pinMode(MODE_SWITCH_PIN,INPUT_PULLUP);
-  
+
+  EEPROM.get(MODE_INDEX,mode);
+
+  Serial.print(F("Got mode from eeprom ") );
+  Serial.println(mode);
+   
   rtcSetup();
   neoPixelSetup();
   
 }
 
 bool pressed = false;
+bool forceChange = false;
 /*******************************************************************************
 *******************************************************************************/
 void loop() {

// and minimize distance between Arduino and first pixel.  Avoid connecting
// on a live circuit...if you must, connect GND first.

byte sensorValue = 0;          // value read from the pot
float brightnessValue = 1.0;   // value read from the pot
// end neopixel


  switch ( mode )
  {
    case BACKLIGHT_MODE:
      backlight(forceChange);
      break;
    case CLOCK_MODE:
      clocklight(current);
      break;
    case NIGHTLIGHT_MODE:
      nightlight(current, forceChange);
      break;
  }
  forceChange = false;
  
  if ( digitalRead(MODE_SWITCH_PIN) == LOW )
  {
