.
 add distrubuted func
 .
 design .
 .
 .
 change all vector with pvector