 #define GRID_WIDTH     16
 #define GRID_SETS      8
 
-uint8_t       grid[GRID_WIDTH][LAYERS][GRID_SETS]; // bitfield
-
-uint8_t       channels[LAYERS][GRID_SETS];  // 1 to 127, 1 bit free
-boolean       long_notes[LAYERS][GRID_SETS] = {
+uint8_t       grid[GRID_WIDTH][LAYERS - 1][GRID_SETS]; // bitfield
+
+uint8_t       channels[LAYERS];  // 1 to 127, 1 bit free
+uint8_t       long_notes[LAYERS] = {
   1, 1, 1, 1, 1, 1, 1, 0}; // 0 to 1, 7 bits free
-uint8_t       noteOffset[LAYERS][GRID_SETS]; // 0 to (MAX_MIDI_NOTES-BUTTON_GRID_WIDTH), 2 bits free
-uint8_t       volume[LAYERS][GRID_SETS]; // 0 to 127, 1 bit free
-uint8_t       instrument[LAYERS][GRID_SETS]; // 1 to 127, 1 bit free
-uint8_t       scale_notes[LAYERS][GRID_SETS]; // 0 to (MAX_SCALES-1), 4 bits free
+uint8_t       noteOffset[LAYERS - 1][GRID_SETS]; // 0 to (MAX_MIDI_NOTES-BUTTON_GRID_WIDTH), 2 bits free
+uint8_t       volume[LAYERS]; // 0 to 127, 1 bit free
+uint8_t       instrument[LAYERS]; // 1 to 127, 1 bit free
+uint8_t       scale_notes[LAYERS]; // 0 to (MAX_SCALES-1), 4 bits free
 // total of 16 bits not used, 128 bytes packed
 
 uint8_t       grid_width[GRID_SETS];  // 0 to (GRID_WIDTH-1) 4 bits free
 uint8_t       tempo[GRID_SETS]; // todo hook this up to bpm
-// total of 384 + 1024 + 16
-// todo need to get this under 1K to be able ot store everything in EEPROM
 
 //uint8_t max_grid_width_table[14] = {
 //  8, 9, 10, 12, 14, 15, 16, 20, 21, 24, 25, 27, 28, 30}; // mutiples of 2, 3, 4, 5, 6, 7 that are equal to or more than 8

  case WAIT_FOR_PROGRAM_CHANGE_2:
    {
      // Turn on column and row for a beat to indicate current selection
      uint8_t temp = instrument[layer][visible_grid_set];

      if (temp >= 64)
      {

              {
                temp = MAX_SCALES - 1;  
              }
              scale_notes[layer] = temp;

              force_first_note = true;

