component divided in two parts: solution and solver