view refactored