consolidate tableviewcell logic