Refactoring
Add solve method and test
Add main function and example data.