updated messaging functions