Add pushState functionality