do-while added