invoke_DPM function