         int d = stringToInt(loopArgs[6]);
         int blockSize = stringToInt(loopArgs[7]);
         
-        buildBlocks(r1, g1, b1, r2, g2, b2, blockSize);
-        delay(d);
-        buildBlocks(r2, g2, b2, r1, g1, b1, blockSize);
-        delay(d);
+        animateBlocks(r2, g2, b2, r1, g1, b1, blockSize, d, true);
+        animateBlocks(r2, g2, b2, r1, g1, b1, blockSize, d, false);
     }
     else if(loopRun.equals(FADECOLOR))
     {

//the pin your spark is using to control neopixels
#define PIXEL_PIN D2
//the number of pixels you are controlling
// #define PIXEL_COUNT 467 //giggle
#define PIXEL_COUNT 150 //colossus
//the neopixel chip type
#define PIXEL_TYPE WS2812B



int snow()
{
    for(int i=0; i<strip.numPixels() / 10; i++)
    { //pick the random pixels
        int pix = random(strip.numPixels());
        strip.setPixelColor(pix, strip.Color(0, 0, 0));
        strip.show();
        delay(random(50));
    }
    
    for(int i=0; i<strip.numPixels() / 10; i++)
    { //pick the random pixels
        int pix = random(strip.numPixels());
        int brightness = random(255);
        strip.setPixelColor(pix, strip.Color(brightness, brightness, brightness * .20)); //poor mans white balance
        strip.show();
        delay(random(50));
    }
