added View() class

moved all views to it's own class and methods