decoupling model from view
reorganizing