rafactoring song provider