added structure for p2