use the HTML5 pushState to manage the browser's URL