assignment 3 all parts complete