Improved MVC pattern. Made it stricter