refactor view for user