classes with virtual members should now have virtual destructor