more granular message control; all messages are implemented