make base class destructors virtual
add Message class