substitute msg