support switching between cpp/h