handle restore()