added subclasses for contact and message