Full browser refactor