 // Keep the application state where the execution
 // is trapped so a specific set of menu items is shown to the user
 byte applicationState = 0;
-// Index of the menu item current selected
+// Index of the menu item currently selected
 byte selectedMenuItem = 0;
+// Used for fine search commands
 float selectedStation;
+// This variable helps to keep track of the buttons state:
+// the command for a pressed button is only accepted if 
+// previously it was in  not pressed state
 boolean buttonWasReleased = true;
 
 // LCD key that was pressed
 int lcd_key = 0;
 
+// Menu labels
 char menu[MENU_DEPTH][MENU_LINES][MENU_TEXT] = {
    {{" Mute"}, {" Search"}, {" Fine search"}, {" Register statn"}, {" Configuration"}, {" Stand by"}, {" Load deflt stn"}, {" Exit"}},
    {{" Search level"}, {" Backlit inten."}, {" Exit"}},
    {{" Low"}, {" Medium"}, {" High"}, {"Exit"}}
   };
 
+// Level required to search
 byte searchLevel;
+// Intensity of LCD backlight.
+// Varies from 0 to 255
 int backlightIntensity;
 
+// Copy the predefined stations into the
+// array used by the application
 void loadDefaultStations() {
   for (int i=0 ; i < 16 ; i++) {
-     //TODO Do this using pointers
      stations[i] = defaultStations[i];
   }
 }
 
+// Convert the analog values read from Arduino pin A0
+// into one of the five commands plus the NONE button 
 int read_LCD_buttons() {
   int adc_key_in = analogRead(0);
   if (adc_key_in > 1000) return btnNONE; 

            }
            markSelectedMenuItem(" ", ">");
            break;
          case 4: {
            if (selectedMenuItem < 2) {
              selectedMenuItem++;

  }
}

// This is a facade for all configurations that must
// be loaded on startup. Starts muting the radio to
// avoid all the annoying noise
void loadConfiguration() {
  radio.mute();
  loadDefaultStations();
