#3.4 and 3.p aka homework - done