Virtual device