Refactored to implement students as a hash