C

Cde2

Cde revised and written almost from scratch