restructure solution. preparing for plugins.