learning systems from components