My version of this: With JCL, it is as easy to read 1000 tapes as it is to read one tape. For JCL, substitute the all-singing API of your choice. On the other hand you can spend a very long time writing code that actually responds correctly to all the failure cases in, say, a TCP stream connection. -L