added hash change fallback to push state for IE support