menu implementation

you can obtain an empty slice by `let menu = &[]` without creating the array of items