Refactoring
Add contributing file
Refactoring, formating + minor fixes.
Update README.md
More refactoring, code style, comments.