refactored listview