moving stuff to be more MVC