1. ability to generate model only 2. ability to bypass the model regeneration 3. ability to generate code using arbitrary names for the generation config file, as well as the specification file