format-message function