logic to only hashchange when it is changed manually