virtual destructors are causing linker issues.