anchor.diff:  Future load_audio()
   {
   	final c = new Completer();
  -	
  +
   	if(useWebAudio)
   	{
   		List<Future> futures = [];
   		String extension = "ogg";
  -        	
  +
       	//if canPlayType returns the empty string, that format is not compatible
       	if(new AudioElement().canPlayType('audio/ogg') == "")
       	{
       		print("ogg not supported, using mp3s instead");
       		extension = "mp3";
       	}
  -    	
  +
       	try
       	{
   			//load the loading music and play when ready
   		  	gameSounds['loading'] = new Sound(channel:audioChannels['music']);
   		  	futures.add(gameSounds['loading'].load("assets/system/loading.$extension"));
  -		      	
  +
   		  	//load the sound effects
   		  	gameSounds['quoinSound'] = new Sound(channel:audioChannels['soundEffects']);
   		  	futures.add(gameSounds['quoinSound'].load("assets/system/quoinSound.$extension"));
  
positive.code: Future loadSong(String name)
  {
  	Completer c = new Completer();
  	
  	ui.sc.load(ASSET['music'].get()[name]['scid'])
  	.then((Scound s) 
  	{
  		ui.jukebox[name] = s;
  		c.complete();
  	});
  	
  	return c.future;
  }
negative.code: 		        new Asset('./assets/system/game_loaded.mp3')
  	        ])
   	..load(print,statusElement:querySelector("#LoadStatus2")).then((_)
   	{
   		//start the loading music and attach it to the #LoadingScreen so that when that is removed the music stops
   		if(int.parse(prevVolume) > 0 && isMuted == '0')
   		{
  