Preliminary steps toward a taxonomy of problem-solving methods