added recovery feature