Added pushstate support