merge from cnnic d