solution to problem #9