abstract message class created