listview rendering refactored