finally, working listing view, refactored 3 times