   } while (millis() < lastFrameTime + 1000 / MAX_FPS);
 }
 
-inline bool isImaginary(byte x, byte y) {
+inline bool isImaginary(uint16_t x, uint16_t y) {
   return x >= WIDTH || y >= HEIGHT || (
     STAGGERED && (x % 2 != y % 2));
 }
-void setAt(byte x, byte y, CRGB color) {
+void setAt(uint16_t x, uint16_t y, CRGB color) {
   if (STAGGERED) {
     if (isImaginary(x, y)) {
       return;
     }
-    byte idx = x / 2 + (x % 2) * (BASE_WID + 1) + WIDTH * (y / 2);
+    uint16_t idx = x / 2 + (x % 2) * (BASE_WID + 1) + WIDTH * (y / 2);
     if (idx >= NUM_LEDS) {
       return;
     }
     leds[idx] = color;
   } else {
-    byte idx = ((ZIGZAG && y % 2) ? (WIDTH - 1 - x) : x) + y * WIDTH;
+    uint16_t idx = ((ZIGZAG && y % 2) ? (WIDTH - 1 - x) : x) + y * WIDTH;
     if (idx < NUM_LEDS) {
       leds[idx] = color;
     }
   }
 }
-void fillRow(byte row, CRGB color) {
+void fillRow(uint16_t row, CRGB color) {
   if (STAGGERED) {
-    byte start = row * WIDTH / 2;
-    byte num = WIDTH / 2;
+    uint16_t start = row * WIDTH / 2;
+    uint16_t num = WIDTH / 2;
     if (row % 2) {
       start += 1;
     } else {

}
void runRandom(bool initialize) {
  if (initialize) {
    for (byte i = 0; i < NUM_LEDS; i++) {
      oneRandom(i);
    }
  }
  byte numRand = mapRange(settings.c1 > 100 ? settings.c1 - 101 : settings.c1,
                          0, 100, 1, NUM_LEDS);
  for (int i = 0; i < numRand; i++) {
    oneRandom(random8(NUM_LEDS));
  }
}



  CRGB color;
  // Render the spots.
  for (uint16_t x = 0; x < WIDTH; x++) {
    for (uint16_t y = 0; y < HEIGHT; y++) {
      if (isImaginary(x, y)) {
        continue;
      }
