abstract and restructuring