initial pushstate implementation