basic cpp structure