refactor playSong