added tests for p1 and p2
initial check in for p3
finished p3