Comments and more improvement.

more logic to not do extra processing. A lot more comments to explain whats happening.
Ah, sorry, so this is a timeOUT? If it hits the timeout and needs to retry, is there a retry limit? (3 is a good default rule of thumb)