finish assign4