timeout is just minimum, not range