factor out browsers