added simple implementations of NCD and CDM