Assignment three almost finished