restore purpose