refactoring and adding user views
minimal view revision