changed while-exp