add message logic