add libvirt support