autogenerate the vm loop too