fixed p1 method