update
add hashchange