modified p2 framework to test for p3