pushState and other awesome goodness
merge