Some refactoring and added some starting components for solving.