   //setTime(8,29,50,1,1,11); // set time to Saturday 8:29:00am Jan 1 2011
   
   // create the alarms 
-  //Alarm.alarmRepeat(8,30,0, MorningAlarm);  // 8:30am every day
+  //Alarm.alarmRepeat(8,00,0, MorningAlarm);  // 8:00am every day
   //Alarm.alarmRepeat(8,35,0,EveningAlarm);  // 8:45pm every day 
   
   Alarm.timerRepeat(0, CHECK_INTERVAL_MINUTES, 0, CheckWaterOn);            // timer for every fill time    
-  Alarm.timerRepeat(FILL_INTERVAL, MorningAlarm);
+  //Alarm.timerRepeat(FILL_INTERVAL, FillTimer);  //For testing with higher frequencey
+
+  Alarm.alarmRepeat(0,00,0, FillTimer);  
+  Alarm.alarmRepeat(8,00,0, FillTimer);
+  Alarm.alarmRepeat(12,00,0, FillTimer);
+  Alarm.alarmRepeat(20,00,0, FillTimer);
 }
 
 void  loop(){  
   CheckWaterOn();
+  CheckButtons();
   digitalClockDisplay();
-  Alarm.delay(1000); // wait one second between clock display
+  Alarm.delay(0); // wait one second between clock display
 }
 
 // functions to be called when an alarm triggers:
-void MorningAlarm(){
-  Serial.println("MorningAlarm: - turn water on");    
+void FillTimer(){
+  Serial.println("FillTimer: - turn water on");    
   WaterOn();
 }
 
-void EveningAlarm(){
-  Serial.println("EveningAlarm: - turn water on");           
+void ForcedTimer(){
+  Serial.println("ForcedTimer: - turn water on");    
   WaterOn();
 }
 

  lcd.print(hour());
  printDigits(minute());
  printDigits(second());
  Serial.print(" Millis: ");
  Serial.print(millis());
  Serial.print(" Last: ");
  Serial.print(last_fill_start);
  
  Serial.println(); 
}

void printDigits(int digits)

}

void WaterOff(){
  //Serial.println("Water OFF");
  digitalWrite(PUMP_PIN, HIGH);
  WATERON = false;
}

void CheckButtons(){
 switch (ForceCycleBtn.check()) {
   case ON:
     Serial.println("BUTTON PRESSED");
     if (digitalRead(PUMP_PIN)) {
       //Alarm.timerOnce(0, 0, 1, WaterOn);
       WaterOn();
     }
     else {
       Serial.println("BUTTON IGNORED");
     }
     break;
   case Hold:
     Serial.println("BUTTON HELD");
     if (!digitalRead(PUMP_PIN)) {
       //Alarm.timerOnce(0, 0, 1, WaterOn);
       WaterOff();
     }
     else {
       Serial.println("BUTTON IGNORED");
     }
     break;
   default:
     break;
 }
}
void CheckWaterOn(){
  unsigned long diff = millis() - last_fill_start;
  lcd.setCursor(0, 1);
