messaging main functionality updates