seems like it's finally MVC