Added virtual machine implementation