virtual destructor? (some compilers don't like when the virtual key word misses if it's in the base class)