this
implement DoWhile