Add validating of solution
Reorganize components