implemented part1 q1 and q2
got p1q3 working
got p2 q1 and q2 working
implemented p2 q3 and q4