refactoring full view