project: add gitignore
project: organize files using MVC
basic implementation of MVC