Restructured the components to lower number needed