   if(mode == 1) {
     loopHeartRate();
   } else if (mode == 2) {
-    loopCylon();
-  }
-
-}
+  } else if (mode == 3) {
+    FastLED.setBrightness(BRIGHTNESS);
+    confetti(0, NUM_LEDS_CH1);
+    confetti(1, NUM_LEDS_CH2);
+    FastLED.show();  
+    FastLED.delay(1000/FRAMES_PER_SECOND); 
+    EVERY_N_MILLISECONDS( 20 ) { gHue++; }
+  } else if (mode == 4) {
+    FastLED.setBrightness(BRIGHTNESS);
+    sinelon(0, NUM_LEDS_CH1);
+    sinelon(1, NUM_LEDS_CH2);
+    FastLED.show();  
+    FastLED.delay(1000/FRAMES_PER_SECOND); 
+    EVERY_N_MILLISECONDS( 20 ) { gHue++; }
+  } else if (mode == 5) {
+    FastLED.setBrightness(BRIGHTNESS);
+    juggle(0, NUM_LEDS_CH1);
+    juggle(1, NUM_LEDS_CH2);
+    FastLED.show();  
+    FastLED.delay(1000/FRAMES_PER_SECOND); 
+    EVERY_N_MILLISECONDS( 20 ) { gHue++; }
+  }else if (mode == 6) {
+    FastLED.setBrightness(BRIGHTNESS);
+    cylon(0, NUM_LEDS_CH1);
+    cylon(1, NUM_LEDS_CH2);
+  }
+
+
+
+}


  updateModeFromEEPROM();
}

// Cycle mode in persistent memory on every on switch.
// More resilient against hardware failures than a button.

  
  // Channel 1
  for (i=0;i<NUM_LEDS_CH1;i++){
      leds[0][i] = CHSV(hue, bufr[i], bufr[i]/(brightnessFactor/100));
  }

  // Channel 2
  int halfPoint = (int)sizeof(bufr)/2;
  for (i=0;i<NUM_LEDS_CH2;i++){
      leds[1][i] = CHSV(hue, bufr[halfPoint], bufr[halfPoint]/(brightnessFactor/100));
  }
  
  FastLED.show();
