added a generic menu class