solution to Problem#8