upstream changes, added menu-cache