Yeah, too many do/whiles. They come naturally on circularly-linked lists.