Added MVC and OOP