full view refactoring