view + refactoring