add feature reset pass and recover pass