add an optional connecton timeout