actually implement playlist support