some refactoring; messageList method