provide own addPP so that we need less casts