make back button work with pushState