Many changes to whole solution