add restore()