refactoring table view to think about collection