why did the assert for message2's payload need to be removed?