This is a bug free version of the asynch I/O