add send and receive methods to channel