Re-design program flow and menu, and correct namings with adding comments.