Explanations from knowledge-based systems for human learning and problem solving