* split COM
* implement COM
update unittests