Using cm0 instead of m0
Refining mem alloc