added the initial work of the cpp class