added pushstate functionality
pushstate