exchange() does not use output channel