Restructuring Base classes