worked on the compiler, vm and parser