Lots of changes, including contracts mostly based on code from jpverkamp
at https://github.com/jpverkamp/c211/