Add unit tests
Add checkstyle config
Add docs, fix checkstyle