Major updates following the MVC pattern