do...while much nicer in these conditions.