more impl in cpp