Current object-oriented formalisms, such as UML, focus on describing class models and use instance models only for depicting scenarios. Little attention is being devoted to defining how complex systems can be structured in order to conform with those class models and, further, which constraints class models must adhere to so that such conformity is affordable. This paper focuses on instance models, which are models of actual systems and as such they are made up of instances, and discusses the relationships between instance models and class models. A large number of applications, ranging from generic data modeling to enterprise modeling, require instance models. The importance of hierarchical composition is emphasized: its meaning and implications are discussed in both contexts. A novel approach for building templates out of aggregates of instances is also presented. A case study concerning enterprise modeling shows the application of the approach. Keywords Object-oriented modeling, en...