refactoring and subclassing table views