internal message
external message