new file name, clean the code and add more interactivity and feedbacks