updated header of virtual inheritance
finished data semantics