add `message` event for handling all message