adding dpm sampling