Restructuring library