refactors listing controller