some solution structur changes