change message struct and related functions