What are the advantages of using virtual machines?