Implemented option to set timeout or don't set a timeout at all.