Some OOP and MVC or something like that