test virtual for late binding/dynamic binding