almost done with p1