docs: function(id, url) {
  			Crafty.support.audio = !!this.audioElement().canPlayType;
  			//Setup audio support
  			if (!Crafty.support.audio)
  				return;
  
  			this.canPlay();
  			//Setup supported Extensions
  
  			var audio, ext, path;
  			if (arguments.length === 1 && typeof id === "object") {
  				for (var i in id) {
  					for (var src in id[i]) {
  						audio = this.audioElement();
  						audio.id = i;
  						audio.preload = "auto";
  						audio.volume = Crafty.audio.volume;
  						path = id[i][src];
  						ext = path.substr(path.lastIndexOf('.') + 1).toLowerCase();
  						if (this.supported[ext]) {
  							audio.src = path;
  							Crafty.asset(path, audio);
  							this.sounds[i] = {
  								obj : audio,
  								played : 0,
  								volume : Crafty.audio.volume
  							}
  						}
  
  					}
  				}
  			}
  			if ( typeof id === "string") {
  				audio = this.audioElement();
  				audio.id = id;
  				audio.preload = "auto";
  				audio.volume = Crafty.audio.volume;
  
  				if ( typeof url === "string") {
  					ext = url.substr(url.lastIndexOf('.') + 1).toLowerCase();
  					if (this.supported[ext]) {
  						audio.src = url;
  						Crafty.asset(url, audio);
  						this.sounds[id] = {
  							obj : audio,
  							played : 0,
  							volume : Crafty.audio.volume
  						}
  
  					}
  
  				}
  
  				if ( typeof url === "object") {
  					for (src in url) {
  						audio = this.audioElement();
  						audio.id = id;
  						audio.preload = "auto";
  						audio.volume = Crafty.audio.volume;
  						path = url[src];
  						ext = path.substr(path.lastIndexOf('.') + 1).toLowerCase();
  						if (this.supported[ext]) {
  							audio.src = path;
  							Crafty.asset(path, audio);
  							this.sounds[id] = {
  								obj : audio,
  								played : 0,
  								volume : Crafty.audio.volume
  							}
  						}
  
  					}
  				}
  
  			}
  
  		}