cmi.c revision 3ad553a7dabf3c8bcb69dd1ceeb13938fa526aed