Developing problem solvers