+ router (change hash)