iterator pattern example: menu