refactored playlist to use same structure as usermanger