changed class hierarchy for tableview controller