use history.replaceState to change location hash while browsing