watch for IO exceptions and that sort of thing