Virtual machine now works on shared pointers