Fixes from review, some new tests, defaulting to 0 timeout