making sure each component can re-build the library objects if need be