refactor list view