virtualization layer