removed further abuse of virtual