main frame, panel, and button