add state restoration delegate