add most of the code to support a minimal lossy block channel type