added browser detection