update along with CM refactorign