refactoring: keeping single level of abstraction, only main script knows about the playlist file