Scripting by Steve
Graphics by Steve
Thanks to Marc for pointing out a sound issue, now corrected :o/