Assignment 3 Part 3 : final