part 1 of assignment3