WE present a nevel way of structuring large systems through the composition od features. Features consist of atoms of system functionality and enjoy certain closure properties. Features give rise to a lattice of system vesions with the bottom version poessessing no features, the top version supporting all features, and the inter,ediate versions implementing some consistent subset of features. Our approach is illustrated by an application to a real-world program.