folding for Cpp and headers