mostly useless restructuring