dynamic problem-solving