change to use retry in rescue block