     else if( owner == enlightened )
     {
       red = 0x1f; green = 0xff; blue = 0; white = 0;
+      useAnimations = true;
     }
   
-    for(i=0; i < strip.numPixels(); i++)
-    {
-        //strip.setPixelColor(i, green,blue,red); // for RGB order is funny?
-//        strip.setPixelColor(i, green, red, blue,white);
-        strip.setPixelColor(i, green, red, blue);
-        float scale = ((millis()/100)%100)/200.0 + 0.5;
-        float pct = percent * scale;
-//        Serial.print("Percent: "); Serial.println(pct, 4);
-        strip.setBrightness((uint8_t)((uint16_t)(255*(pct/100.0))));
-    }    
-    strip.show();
+    if (useAnimations) {
+        strip.setBrightness(255);
+        animations.pulse.doFrame(states[0], strip);
+    } else {
+        for(i=0; i < strip.numPixels(); i++)
+        {
+            //strip.setPixelColor(i, green,blue,red); // for RGB order is funny?
+            //        strip.setPixelColor(i, green, red, blue,white);
+            strip.setPixelColor(i, red, green, blue);
+            //        float scale = ((millis()/100)%100)/200.0 + 0.5;
+            float scale = 1.0f;
+            float pct = percent * scale;
+            //        Serial.print("Percent: "); Serial.println(pct, 4);
+            strip.setBrightness((uint8_t)((uint16_t)(255*(pct/100.0))));
+        }
+        strip.show();
+    }
   
     dir++;
     if( dir >= NUM_STRINGS )

//   NEO_RGB     Pixels are wired for RGB bitstream (v1 FLORA pixels, not v2)
//   NEO_RGBW    Pixels are wired for RGBW bitstream (NeoPixel RGBW products)
//Adafruit_NeoPixel strip = Adafruit_NeoPixel(120, BASE_PIN, NEO_RGBW + NEO_KHZ800);
Adafruit_NeoPixel strip = Adafruit_NeoPixel(50, BASE_PIN, NEO_GRB + NEO_KHZ800);


// Serial I/O

  
    uint8_t red, green, blue, white;
    red = 0x20; green = 0; blue = 0x20; white = 0x20;
    bool useAnimations = false;
    if( owner == neutral ) 
    {
      red = 0x40; green = 0x40; blue = 0x40; white = 0x40;
