refactored audio class