rework playlist methods