add DPP function