adding channel-based broadcasting