basic menu class and dependancies