- New timeout option (defaults to 0)
- Nicer error messages if err != null