reformatted, split out end and err, defined reliable and unreliable as distinct different channels always