added browser sniffer