failsafe and whiletrue