updating how messages can be passed