added metamodel logic