seperate message object
change transmessage behavior