Refactor channels

Fixes #47 and Fixes #62