Swich back to IO based processing, and use IO.pipe