add macro for generating message