more MVC like layout