added p1 without structs