use a simpler(iterator) way to go through the message list