added parrallel dp