messaging framework