pushing changes to make it more MVC-ish