Misunderstood PCP.  This is an attempt to fix it.  Not yet tested.