user view refactoring