Restructure the whole Solution Part 2