   digitalWrite(PIN_PIR_DOWN, LOW);
   digitalWrite(PIN_PIR_UP, LOW);
   Serial.println(" done");
-  // Sparkle rainbow welcome give delay to calibrate pir sensors.  This also indicates if program crashed.
-  for ( int i = 0; i < 500; i++ ){
-    rainbowWithGlitter();
-    FastLED.show();
-    FastLED.delay(8.3);
-    EVERY_N_MILLISECONDS( 20 ) { gHue++; }
-  }
-  for (int tick=0; tick < 64; tick++){ 
-    for ( uint8_t i = 0; i < NUM_LEDS; i++ ){
-      leds[i].fadeToBlackBy( 64 );
-      FastLED.show();
-      FastLED.delay(1);
-    }
-  }
-    Serial.println("SENSOR ACTIVE");
+  welcomeRainbow();  // rainbow - give time for PIR sensors.
+  setUpDown(GO_DOWN);
+  Serial.println("SENSOR ACTIVE");
 }
 
 // Main Loop track PIR sensors.



// Fade7 effect.
void fade7(int8_t dir){
  setStartEnd(dir);
  Serial.print("Fade7 dir: ");
  Serial.println(dir);
  const uint8_t mx = BRIGHTNESS;
  uint8_t r = mx;
  uint8_t g = 0;
  uint8_t b = 0;
  const uint8_t del = 25;
  boolean glitter = ( random8() < 120 );
  for(gStair=gStairStart; (dir == 1 && gStair < gStairEnd ) || (dir == -1 && gStair >= gStairEnd && gStair <= gStairStart+1 ); gStair+=(2*dir)) {
    for (r=0; r<mx; r+=2) {
      leds[gStair] = CRGB( r, g, b );
      leds[gStair + 1*dir] = CRGB( r, g, b );
      FastLED.show();
      FastLED.delay(1);
    }

    FastLED.show();
    delay(del);
  }
  for (gStair=0; gStair < NUM_LEDS; gStair+=2){
    for (r=mx; r>1; r--) { 
      leds[gUpDown[gStair]] = CRGB( r, g, b );
      leds[gUpDown[gStair + 1]] = CRGB( r, g, b );
      FastLED.show();
      FastLED.delay(1); 
    }
    r = 0; g = 0; b = 0;
    leds[gUpDown[gStair]] = CRGB( r, g, b );
    leds[gUpDown[gStair + 1]] = CRGB( r, g, b );
    FastLED.show();
  }
  lightsOn = LOW;  
