constructive version of dpp