restructuring a bit