A distribution model for the new generation of component languages, which allows to plug required into provided interfaces, is presented together with the distributed component language CompJava. The distribution model models an abstraction layer on top of existing component languages and middleware. It makes distributed component programming with CompJava as simple as local programming, allows to compose components from other components scaling up very efficiently, and allows for dynamic allocation and configuration of components. The efficiency of the generated Java source code is an important characteristic of the new component distribution model: it involves no invocation overhead and practically no storage overhead for a distributed component composed from collocated components.