some more cross-browser support