assignment 5 partial

includes questions 1 and 2 (minus all test cases from question 1).
haven't started question 3.