Automatically combining smaller components by matching outputs of one to inputs of another, creating new complex structures.