exercise 12; have problem