first full pass at menus and all