more work on cpp definitions