Setup for two clients. Two clients have instantiated MAPI modules. Client 1 has two instances of the Tool Module, one where the Interface layer communicates with repository A through Access A and another where it communicates with repository B through Access B. Client 2 only has one instance which communicates to Repository B through Access B. Note that the interface for both clients is always the same, regardless whether they are communicating with repository A or B. The Access B code is also the same for both clients (i.e. the access needs to be developed only once). The specific configuration in each client is controlled through the configuration file. Note that it is necessary to use more modules than only the Tool Module (which needs, at least, the ToolLocation, DataType and FunctionalCategory modules). However, for simplification we only show instances of the Tool Module.