 		};
 
 		#ifdef DEBUG
+		switch (display_list(6, menu_array)) {
+		#else
 		switch (display_list(5, menu_array)) {
-		#else
-		switch (display_list(4, menu_array)) {
 		#endif
-			case 0:	alarm_mode();
-					break;
-			case 1: system_state	= SPEED_STATE;
-					break;
-
-			case 3: system_state	= SETTINGS_STATE;
+			case 0:	if (digitalRead(PWM_S2) == LOW) {
+						digitalWrite(PWM_S2, HIGH);
+					} else {
+						digitalWrite(PWM_S2, LOW);
+					}
+					break;
+
+			case 1: cool_mode();
+					break;
+
+			case 2: system_state	= SPEED_STATE;
+					break;
+
+			case 4: system_state	= SETTINGS_STATE;
 					break;
 
 			#ifdef DEBUG
-			case 4: self_test();
+			case 5: self_test();
 					break;
 			#endif
 		}

	lcd.setCursor(0, 1);
	lcd.print("Version: ");
	lcd.print(VERSION);

	tone(BIP, 100, 250);
	delay(250);

	}
}

void cool_mode () {
	lcd.clear();
	lcd.print("   COOL MODE");
	byte light_level;

	digitalWrite(PWM_S1, LOW);

	while (analogRead(ACTION_BUTTON) < 5) {
		for (light_level	= 0; light_level < 255; light_level++, delay(10), analogWrite(PWM_S2, light_level));
		for (light_level	= 255; light_level != 0; light_level--, delay(10), analogWrite(PWM_S2, light_level));
	}

	while (analogRead(ACTION_BUTTON) > 5);
}

void alarm_mode() {
	lcd.clear();
	lcd.print(" Stand By Mode");
