added browser compatibility