add recover method