change to react only to hashchange