Added some infrastructure code for solution2.
Implemented almost whole basic solution.