made VM a library and added a test project