reuse channelsender code
ls
Revert "ls"

This reverts commit a54eec13b387a51abb03f31e2093035bd76103ad.
Revert "Revert "ls""

This reverts commit b617157369562b5a49382800278b5c5cac5ef9fd.
clean