refactor for Brower