main menu implementation