made some changes to message classes and added have message implementation