more cpp stuff