added restore prototype