added extensible message component