library restrucring