fixed recover method