 typedef void (*ItemSelection)(Menu *, int);
 
 // handler for inc/dec of item (vfo_RRight, vfo_RLeft events)
-typedef int (*ItemIncDec)(int index, int delta);
+typedef void (*ItemIncDec)(int delta);
 
 // structure defining a menu item
 struct MenuItem

          }
          break;
        case vfo_RRight:
          Serial.print("Menu: vfo_RRight, menu=");
          Serial.print((unsigned long) menu);
          Serial.print(", menu->num_items=");
          Serial.print(menu->num_items);
          Serial.print(", menu->items[item_num]->incdec=");
          Serial.println((unsigned long) menu->items[item_num]->incdec);
          if (menu->num_items == 1)
          {
            // special dynamic menuitem
            Serial.print("special dynamic menuitem, before item_num=");
            Serial.print(item_num);
            Serial.print(", menu->items[item_num]->incdec=");
            Serial.println((unsigned long) menu->items[item_num]->incdec);
            
            item_num = menu->items[item_num]->incdec(item_num, +1);
            
            Serial.print("AFTER menu->items[item_num]->incdec=");
            Serial.print((unsigned long) menu->items[item_num]->incdec);
            Serial.print(", item_num=");
            Serial.println(item_num);
          }
          else
          {

          if (menu->num_items == 1)
          {
            // special dynamic menuitem
            menu->items[item_num]->incdec(-1);
          }
          else
          {
