what are the characteristics of a good problem solver