add new channel implement