complete message functionalities