initial work on cpp definitions