[code_clean, upto menu 4 completed]