reader modiifed & recover method added