finish significant refactor of Semantic CM