Adding MVC architecture, organize the code, remove unnecessary code, and adding some docs string.