begin visitor compiler and vm