update
add recoverability requirement