refactor, add listing