Adding timeout && auto-retry implementation as well.