 }
 
 // Like the bounce but packets move continuously through, not switching direction
-void theater_chase() {
+void theater_chase(uint16_t mls) {
   // Indices
   static uint8_t pal_index = 0;
 
-  // Update global hue position
-  EVERY_N_MILLISECONDS(10) {
-    gHue++;
-  }
-
   // Update lead LED position at an input dependent rate
-  EVERY_N_MILLISECONDS_I(thisTimer, 100) {
+  /////////////////////////////////////////////////////////////////////////
+  // Set the timing here. If you have a potentiometer for the rate setup //
+  // you can uncomment the line below to read in from that.              //
+  /////////////////////////////////////////////////////////////////////////
+  EVERY_N_MILLISECONDS_I(thisTimer, mls) {
     //thisTimer.setPeriod(map(analogRead(RATE_POT), 0, 1253, 1, 200));
     pal_index++;
   }

  // Fill bar at input dependent rate. First record the previous lead value
  // so that we can check which diretion we are heading on the sin wave later on
  prev = lead;
  //lead = beatsin8(map(analogRead(RATE_POT), 0, 1253, 120, 10), 0, lead_max);
  lead = beatsin8(120, 0, lead_max);

  // If the eq bar is about to be empty, generate a new max length to fill.
  // Also increment the index of the palette, for a little more modulation cuz

    gAnimCounter = (gAnimCounter+1)%numAnimation;
  }

  ///////////////////////////////////////////////////////////////////////
  // Select animation to run. Change the values in their parentheses   // 
  // to set the rate they run at. If you have a potentiometer set up   //
  // you can go to the function definitions below to see how to change //
  // the code to set it up to use the potentiometers input instead of  //
  // setting the values below.                                         //
  ///////////////////////////////////////////////////////////////////////
  switch( gAnimCounter ) {
    case 0:
      palette_mod(100);
      break;
    case 1:
      fill_mod_smooth(120);
      break;
    case 2:
      palette_eq(120);
      break;
    case 3:
      theater_chase(150);
      break;
    case 4:
      theater_chase_bounce(15);
      break;     
    //////////////////////////////////////////////////////////////
    // This animation is pretty crappy. I was trying to do it   //
