refactoring collection view