new message mechanism built