vsmc.hpp add other backends