Added the virtual mechanism