refactor student model