refactor listing