create 95% of functionality needed for custom audio player