updating how messages are created and handled