playlist - refactor