   int item_index = 0;
   
   Serial.print("show_menu("); Serial.print(menu->title); Serial.println(")");
-
-  lcd.clear();
-  lcd.setCursor(0, 0);
-  lcd.write(menu->title);
+  // update the menu display
+  Serial.print("Calling menu->display: menu->title=");
+  Serial.print(menu->title);
+  Serial.print(", item_index=");
+  Serial.println(item_index);
   menu->display(menu, item_index);
 
   while (true)
   {
+    // handle any pending event
     if (queue_len() > 0)
     {
       // get next event and handle it

  lcd.write("Hz");
}

void save_item_action(Menu *menu, int slot_num)
{
  int address = SaveSlotBase + slot_num * sizeof(unsigned long);

  Serial.print("save_item_action: saving Frequency "); Serial.print(VfoFrequency);
  Serial.print(" to slot "); Serial.print(slot_num);
  Serial.print("="); Serial.println(address);
  
  EEPROM.put(address, VfoFrequency);
}

void restore_item_action(Menu *menu, int slot_num)
{
  Serial.print("restore_item_action: slot_num="); Serial.println(slot_num);
}

//----------------------------------------------------------

#include <EEPROM.h>


#define DEBUG   // define if debugging


// Digital VFO program name & version
