3 kinds of channel