cross-browser improvements