 #define DEMO_TOTAL_SIZE (DEMO_OBJECT_SIZE + DEMO_GAP_SIZE)
 
 // be able to reverse shift/animation direction
+
+void power_shift_object(int width, int shift){
+  do_power_shift(shift, shift + width);
+}
 
 void do_demo(int count = ANIM_LED_COUNT / DEMO_TOTAL_SIZE){
 

      delay(POWER_EASE_DELAY);
      shift(pos+1, max);
    }
    if(!display_only){
      finalize_shift(count, max);
    }
  }
}


  
  for(int i = 0; i < count; i++){
    rgb_color color = random_color();
 
//    do_power_shift(window, window + DEMO_TOTAL_SIZE);
//    //do_elastic_shift(window, window + DEMO_TOTAL_SIZE);

    power_shift_object(DEMO_TOTAL_SIZE, window);
    
    window -= DEMO_TOTAL_SIZE;

    int effect = random_effect();
