typo: beforeushstate to beforepushstate