hash change handling