New molecules are created in VMD in the CmdMolNew object, which is a particular Command-derived object. When a new molecule is to be created, the type of molecule source and necessary data are specified (such as filenames, remote computer names, etc) and given to the constructor of a specialized subclass of Molecule. The resulting (empty) molecule is assigned to a Molecule * pointer variable, and then the virtual create routine is called. After this, the molecule is added to the MoleculeList, and any extra actions are taken such as requesting for more coordinate files to be read, etc.