will this keep retrying forever? I wonder if we should fail after X tries