basic VM structure