fix virtual inheritance