   
   // ring size NUM_LIGHTS, NUM_LIGHTS_PER_SWITCH assigned for each switch, on pin 13
   NeoPixelRing ring(NUM_LIGHTS, NUM_LIGHTS_PER_SWITCH, 13);
+  
+  //button on pin 10, debounce for DEBOUNCE_TIME
+  Switch randomButton(10, DEBOUNCE_TIME);
+  
+  //button on pin 11, debounce for DEBOUNCE_TIME
+  Switch rainbow(11, DEBOUNCE_TIME);
+  
+  /* Buttons */
+  Switch toggleSpinButton(12, DEBOUNCE_TIME);
   
   /* Potentiometers on analog inupts*/
   // potentiometer to control ring spin speed

  /* has the random number generator been seeded? Set true the first time random is used */
  bool seededRand = false;
  
  /* For prototyping, use this offset to place light switches from pins 2 - 9, instead of 0-7, because pins 0 and 1 are used for serial communication */
  const int LIGHT_SWITCH_PIN_OFFSET = 2;
  
  /* The 8 light switches and the sets of lights they control*/
  Switch* lightSwitches[NUM_LIGHT_SWITCHES];

  Potentiometer greenKnob(A4);
  Potentiometer blueKnob(A5);
  

  
  void setup() {
     Serial.begin(9600);  
