applied MVC patern