By George, I think I fixed it. Now for browser-compatibility