updates for cross-browser compatability