professor's solution