most of the GUI menu for new function complete