refactored with a more normalised model. Unfortunately the crucial get audio part of things isnt working just yet