experiments in problem solving