silence msvc warning about virtual methods without virtual destructor