menus and functions and such