Major modifications to Semester.java