     case SETTING_ALARM:
     {
         if(settingAlarmProcess == A_HOUR){
-          alarmHour = getNextHourFromCurrentHour(alarmHour);
+          alarmHour = getNextHourFromCurrentHour(alarmHour, true);
         } else if(settingAlarmProcess == A_MINUTE){
-          alarmMinute = getNextMinSecFromCurrentMinSec(alarmMinute);
+          alarmMinute = getNextMinSecFromCurrentMinSec(alarmMinute, true);
         } else if(settingAlarmProcess == A_TYPE){
               
           if(!alarmVibrate && !alarmSound){

  {
    showLCD = !showLCD;
    turnOffLCD();
  }
  break;
  case SETTING_ALARM:
  break;
  case SETTING_TIME:
  break;

  return previousBlinkState;
}

int getNextHourFromCurrentHour(int current, boolean increment){
  int change;
  if(increment){
    change = 1;
  } else {
    change = -1;
  }
  
  int newValue = current + change;
  
  //To produce positive modulo result
  return (newValue % 24 + 24) % 24;
}

int getNextMinSecFromCurrentMinSec(int current, boolean increment){
    int change;
  if(increment){
    change = 1;
  } else {
    change = -1;
  }
  
  int newValue = current + change;
  
  //To produce positive modulo result
  return (newValue % 60 + 60) % 60;
}

void setup(){
