change structure for different cpp sucking spec