 
 // Define the array of leds
 CRGB leds[NUM_LEDS];
-candle::Candle *candles[NUM_LEDS], *saturation[NUM_LEDS];
+
+candle::Candle candles[NUM_LEDS];
+candle::Candle saturation[NUM_LEDS];
+
 byte hues[NUM_LEDS];
 
 #define CANDLE_TICK_TIME 20

void candleLoop() {
    if (candle_timer.check() == 1) {
        for (size_t i=0; i<NUM_LEDS; i++) {
            leds[i] = CHSV(hues[i], saturation[i]->get_next_brightness(), candles[i]->get_next_brightness());
        }

        FastLED.show();

        leds[i] = CRGB::Black;

        // Initialize candles
        candles[i].init(random8(16, 96), 255, random8(3, 8), random8(6, 22));

        // Initialize random hues and saturation
        hues[i] = random8(24, 32);
        saturation[i].init(random8(112, 240), random8(241, 255), random8(10, 20), random8(22, 62));

    }

    FastLED.show();
