object restructuring