[1] separate presentation from logic into template files, and [2] with multiple templates support. [3] modify .gitignore file under /file which's pattern was not correct.