Reworked to MVC