 
 //MENU
 char* EMPTY = "                ";
-char* menu[] = {"Calibrate" ,"Tare", "+Beersize", "Keg Weight"};
+char* beerSizes[] = {
+  "0.33", "0.5"};
+MenuItem menu[] = {
+  {
+    "Calibrate", 0  }
+  , {
+    "Tare", 1  }
+  , {
+    "Beersize", 2  }
+  , {
+    "Keg Weight", 3  }
+};
 unsigned int lastItem = 3;
 unsigned int menuMarker = 0;
 

      char numberOfBeers[4];
      dtostrf(((value - KEG_WEIGHT) / (TAP_SIZE)), 1, 0, numberOfBeers);
      lcd.print(beers + numberOfBeers + " (0.33)");
    } else {
      char numberOfBeers[4];
      dtostrf(((value - KEG_WEIGHT) / (TAP_SIZE)), 1, 0, numberOfBeers);
      lcd.print(weightName + weight + kilo + " (" + numberOfBeers +")    ");
    }
  }
  
  delete weight;
}

void doWeigth() {
   if (printGUI){
    return;
  }
  unsigned long now = millis();
  
    for (int i = 0; i < WEIGHT_SENSORS; i++) {
      if (((last[i] + DEFAULT_WEIGHT_TIME) < now) || ((useFastWeight && (last[i] + DEFAULT_WEIGHT_TIME_FAST) < now))) {
      lcd.setCursor(0, 1);

      String weightName = getName(i);
      float value = getValue(scales[i]);

      if ((value > (lastValue[i] + 50)) || (value < (lastValue[i] - 50))) {
        useFastWeight = 1;
        lastValue[i] = value;
      } else {
        useFastWeight = 0;
      }
      
      printToSerial(value, now, weightName, i);

      const int row = getRow(i);
      const int col = getCol(i);
      lcd.setCursor(col, row);
      
      printWeightOnLCD(value, weightName);

      last[i] = millis();
    }
  }
}

}

void printMenuItem(char* &item) {
  char textItem[50];
  strcpy(textItem, item);
  strcat(textItem, EMPTY);
  lcd.print(textItem);
}

void printMenu() {
