inadvertently made restore method private. Think further refactoring + unit tests here are worth it.