solution restructure