PMPI: A good start.
Added Program and some helpers. It's late and I want to go to bed.