refactor project listing controller