added some MVC architecture