Revert "Revert "Merge CM tree changes""

This reverts commit 69a7ea63ade37943289a91636f7043cb2ea622ca.
Merge pull request #9 from Ultrax5/master

Revert "Revert "Merge CM tree changes""