advanced problem-solving