I've added the TYPEGLOB definitions to incorporate the ID's and naming that we discussed earlier. The "defines:" entry under the TYPEGLOB tells what the * in the glob defines. This defined variable may then be referenced elsewhere in the spec. e.g. the layer_ID is defined as the * in the layer_entity typeglob. If a "layer_ID" value type appears in an entity definition, the referenced layer can then be found with: $file = './layers/' . $layer_ID . '.yml'; In other words, the typeglob could be put to a s/*/$ID/ replacement to find the filename. http://ericwilhelm.homeip.net/uc/trunk/data/doc/spec/rhizopod_spec.yml I'm working on the spec and the formatting conventions of said spec simultaneously here, so bear with me. I'll write-up the formatting conventions once I know exactly what they are. There are some other changes here. Namely, I've separated the properties which are shared by any geometric_entity object. --Eric -- "I've often gotten the feeling that the only people who have learned from computer assisted instruction are the authors." --Ben Schneiderman