header <-> cpp split