further simplify treatment of tabs and hashchanges