migration has outer loop by exam