updated P2 assignment