routes now trigger more simply on each popState event