Attempted basic MVC design and added some basic model functionality