Main solution restructure