extracting logic from the audio service, needs splitting up - does wayyyy too many things