modified cycle and exceptions