split general linearsystem class into two (basic generic solver, and component interface base), more changes neede for a propper compile