solution to problem #5