solution to problem #8