Added playlist support
Refactoring
Refactoring