done with p1 and p2
updated