add recovery feature