Restructure so as to seperate solutions