change in structure to treat some components more like a package