Changed the structure of the CM. See later commits for more!