add MVC pattern