Rewrite the way channels work