refacto list view