refactored SongListView