How virtual environments work