add new views and refactoring old