Assignment 3 final part