cmp_ctor