finished the main header cppipm. Needs debugging.