struct version of student_sorter