split the cpp world loop into phases