while and exprlist fixed and working