Initial commit.
All tests pass
refactoring
Add checker runner
Refactoring