Improved MVC design