implemented cnsmtgsolver etc.