added lib_sitevm and algs/sitevm.cpp