massive overhaul of sound.js