add DO LOOP support