update message logic