Playing with channels; rebase later.