added ios and firefox detection methods