add some hooks, more precision for message id