enrollment refactor begin