add recovery password function