implemented restore & updated mimic