recover and restore