rebuild and restore implemented and tested by inspection