added code from vmware