add interuption_points() in waiting functions