Updated channel, split stream out into interfaces