final version of p1