       if (random16(N_LEDS * 0.4) < numberOfSparkles) {
         shootingStar();
       }
-    }
-
-    EVERY_N_MILLISECONDS(10) {
       fade_raw(Soulmate::led_arr, N_LEDS, 1);
     }
 

        }
      }
    }

    EVERY_N_MILLISECONDS(200) {
      numberOfSparkles = curve(numberOfSparkles, 4, N_LEDS * 0.03);
    }

    EVERY_N_MILLISECONDS(100) {
      hue -= 1;
    }
  }
}


  }

  void lanternPattern() {
    numberOfSparkles = beatsin16(15, 4, N_LEDS * 0.03);

    EVERY_N_MILLISECONDS(100) {
      hue -= 1;
    }
    
    EVERY_N_MILLISECONDS(40) {
      for (int i = 0; i < snakesCount; i++) {
        uint16_t j = snakes[i];
        if (j > 0) {
          if (j > 1) {
            Soulmate::led_arr[j-1] = CHSV(hue + j / 10 + 10, 180, 100);
          }
          Soulmate::led_arr[j] = CHSV(hue + j / 10 + 10, 180, 180);
          if (j < N_LEDS - 1) {
            Soulmate::led_arr[j+1] = CHSV(hue + j / 10 + 10, 180, 100);
          }

          // angle
          snakes[i] += circumference + 1;
          if (snakes[i] >= N_LEDS) snakes[i] = 0;
        }
      }
