more consistent message structure