works with a very large timeout