further seperation of view and control