 int num_files;
 
 void screenClearCallback(void) {
-  matrix.fillScreen({0,0,0});
+  backgroundLayer.fillScreen({0,0,0});
 }
 
 void updateScreenCallback(void) {
-  matrix.swapBuffers();
+  backgroundLayer.swapBuffers();
 }
 
 void drawPixelCallback(int16_t x, int16_t y, uint8_t red, uint8_t green, uint8_t blue) {
-  matrix.drawPixel(x, y, {red, green, blue});
+  backgroundLayer.drawPixel(x, y, {red, green, blue});
 }
 
 // Setup method runs once, when the sketch starts
 void setup() {
-
     setScreenClearCallback(screenClearCallback);
     setUpdateScreenCallback(updateScreenCallback);
     setDrawPixelCallback(drawPixelCallback);

    num_files = enumerateGIFFiles(GIF_DIRECTORY, false);

    if(num_files < 0) {
        matrix.scrollText("No gifs directory", -1);
        Serial.println("No gifs directory");
        while(1);
    }

    if(!num_files) {
        matrix.scrollText("Empty gifs directory", -1);
        Serial.println("Empty gifs directory");
        while(1);
    }



void loop() {
    unsigned long futureTime;
    char pathname[30];

