Assignment #8 Solution