feature(ncp) add ncp