complete the basic messaging system