feature: playlist support