implement crossbrowser work