Part1 and Part2 of the Assignment