fix errors and add asynchronous song fetching