HW6 Part1
HW6 Part2
HW6 Part3
HW6 Part3 v2