new version, now supporting all modern browsers