Added generic shape structure