improved construct termination and control flow error recovery