Draft commit.

This is very beginning port of CACM. It's should be rewritten.